1. 程式人生 > 其它 >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 #超時的時間
  1. http型
        livenessProbe:
          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 #單次執行超時的時間