Pod基础

1. Pod基本使用

要求:

  • 创建Mysql Pod,使用环境变量初始化root密码,创建一个普通用户和数据库
  • 创建wordpress Pod,使用环境变量对接到Mysql,并初始化wordpres
  • 为以上Pod设置livenessProbe, readlinessProbe, resource limit, request limit
  • 创建Mysql Pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: mysql-pod
      namespace: job
    spec:
      containers:
      - name: mysql
        image: mysql:8.0
        imagePullPolicy: IfNotPresent
        env: 
        - name: MYSQL_ROOT_PASSWORD
          value: '123456'
        - name: MYSQL_USER
          value: 'wordpress'
        - name: MYSQL_DATABASE
          value: 'wordpress'
        - name: MYSQL_PASSWORD
          value: 'wordpress'
        readinessProbe:
          initialDelaySeconds: 10
          failureThreshold: 5
          periodSeconds: 3
          timeoutSeconds: 3
          exec:
            command: ['/bin/sh', '-c', 'mysql -uroot -p123456  -e "select now()" ']
        livenessProbe:
          failureThreshold: 5  # 失败阈值5次
          periodSeconds: 30    # 探测频率30s
          timeoutSeconds: 3   
          tcpSocket:
            port: 3306
        resources:
          requests:
            memory: '100Mi'
            cpu: '250m'
          limits:
            memory: '500Mi'
            cpu: '500m'
    
  • 创建wordpress pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: wordpress-pod
      namespace: job
      labels:
        app: wordpress
    spec:
      containers:
      - name: wordpress
        image: wordpress:6.4
        imagePullPolicy: IfNotPresent
        env:
        - name: WORDPRESS_DB_HOST
          value: '10.244.1.117'       #这里填mysql pod的IP地址
        - name: WORDPRESS_DB_NAME
          value: 'wordpress'
        - name: WORDPRESS_DB_USER
          value: 'root'
        - name: WORDPRESS_DB_PASSWORD
          value: '123456'
        ports:
        - name: http
          containerPort: 80
          protocol: TCP
        readinessProbe:
          initialDelaySeconds: 10
          httpGet:
            port: 80
          timeoutSeconds: 5
        livenessProbe:
          initialDelaySeconds: 10   # 等十秒再探测
          timeoutSeconds: 5   # wordpress访问响应时间较长,需要设置每次探测超时时间
          httpGet:
            port: 80         # 不写路径,默认为根
        resources:
          requests:
            memory: '100Mi'
            cpu: '250m'
          limits:
            memory: '500Mi'
            cpu: '500m'
          
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: wordpress-svc
      namespace: job
    spec:
      type: NodePort
      selector:
        app: wordpress   # 标签选择器来确定绑定的后端Pod
      ports:
      - name: http
        port: 80
        protocol: TCP
        targetPort: 80
        nodePort: 31080
    
  • 查看资源状态

    kubectl get all -n job
    

    在这里插入图片描述

  • 访问nodeport映射地址
    在这里插入图片描述

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值