其他分享
首页 > 其他分享> > k8s资源deployment

k8s资源deployment

作者:互联网

一步步学习k8s yaml 文件

声明一个deployment类型的资源

# kubectl explain Deployment
apiVersion: extensions/v1beta1
kind: Deployment

声明dp名称为web 运行在的default 命名空间

# kubectl explain Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: web
  namespace: default

声明dp的具体参数

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: web
  namespace: default
spec:
  selector:
    matchLabels:
      app: web

声明 pod 的模板

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: test-label
spec:
  selector:
    matchLabels:
      app: web   #与 labels 中的保持一致
  template:
    metadata:
      labels:
        app: web  # 与selector 中的保持一致
    spec:
      containers:
      - name: web
        image: python
        args:
        - "python"
        - "-m"
        - "http.server"

定义健康检查

  1. 命令型
        livenessProbe:
          exec:
            command:
              - curl
              - 127.0.0.1:8000
          initialDelaySeconds: 5  #第一次探测时等待5s
          periodSeconds: 5  #每5s执行一次
          failureThreshold: 2 #失败的阈值
          successThreshold: 1  #成功的阈值
          timeoutSeconds: 5 #超时的时间
        readinessProbe:
          exec:
            command:
              - curl
              - 127.0.0.1:8000
          initialDelaySeconds: 5  #第一次探测时等待5s
          periodSeconds: 5  #每5s执行一次
          failureThreshold: 2 #失败的阈值
          successThreshold: 1  #成功的阈值
          timeoutSeconds: 3 #单次执行超时的时间
  1. http型
        livenessProbe:
          httpGet:
            path: /
            port: 8000
            scheme: HTTP
          initialDelaySeconds: 5  #第一次探测时等待5s
          periodSeconds: 5  #每5s执行一次
          failureThreshold: 2 #失败的阈值
          successThreshold: 1  #成功的阈值
          timeoutSeconds: 3 #单次执行超时的时间 
        readinessProbe:
          httpGet:
            path: /
            port: 8000
            scheme: HTTP
          initialDelaySeconds: 5  #第一次探测时等待5s
          periodSeconds: 5  #每5s执行一次
          failureThreshold: 2 #失败的阈值
          successThreshold: 1  #成功的阈值
          timeoutSeconds: 3 #单次执行超时的时间                    
  1. tcp型
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: test-label
spec:
  selector:
    matchLabels:
      app: web   #与 labels 中的保持一致
  template:
    metadata:
      labels:
        app: web  # 与selector 中的保持一致
    spec:
      containers:
      - name: web
        image: python
        args:
        - "python"
        - "-m"
        - "http.server"
        livenessProbe:
          tcpSocket:
            port: 8000
          initialDelaySeconds: 5  #第一次探测时等待5s
          periodSeconds: 5  #每5s执行一次
          failureThreshold: 2 #失败的阈值
          successThreshold: 1  #成功的阈值
          timeoutSeconds: 3 #单次执行超时的时间
        readinessProbe:
          tcpSocket:
            port: 8000
          initialDelaySeconds: 5  #第一次探测时等待5s
          periodSeconds: 5  #每5s执行一次
          failureThreshold: 2 #失败的阈值
          successThreshold: 1  #成功的阈值
          timeoutSeconds: 3 #单次执行超时的时间                                         

标签:web,阈值,Deployment,periodSeconds,5s,deployment,k8s,资源,failureThreshold
来源: https://www.cnblogs.com/wangend/p/14964597.html