pod的yaml說明

apiVersion: v1 #指定api版本,此值必須在kubectl apiversion中   
kind: Pod #指定建立資源的角色/類型   
metadata: #資源的元數據/屬性   
  name: test-pod #資源的名字,在同一個namespace中必須惟一   
  labels: #設定資源的標籤 
    k8s-app: apache   
    version: v1   
    kubernetes.io/cluster-service: "true"   
  annotations:            #自定義註解列表   
    - name: String        #自定義註解名字   
spec: #specification of the resource content 指定該資源的內容   
  restartPolicy: Always #代表該容器一直運行,默認k8s的策略,在此容器退出後,會當即建立一個相同的容器   
  nodeSelector:     #節點選擇,先給主機打標籤kubectl label nodes kube-node1 zone=node1   
    zone: node1   
  containers:   
  - name: test-pod #容器的名字   
    image: 10.192.21.18:5000/test/chat:latest #容器使用的鏡像地址   
    imagePullPolicy: Never #三個選擇Always、Never、IfNotPresent,每次啓動時檢查和更新(從registery)images的策略, 
                           # Always,每次都檢查 
                           # Never,每次都不檢查(無論本地是否有) 
                           # IfNotPresent,若是本地有就不檢查,若是沒有就拉取 
    command: ['sh'] #啓動容器的運行命令,將覆蓋容器中的Entrypoint,對應Dockefile中的ENTRYPOINT   
    args: ["$(str)"] #啓動容器的命令參數,對應Dockerfile中CMD參數   
    env: #指定容器中的環境變量   
    - name: str #變量的名字   
      value: "/etc/run.sh" #變量的值   
    resources: #資源管理 
      requests: #容器運行時,最低資源需求,也就是說最少須要多少資源容器才能正常運行   
        cpu: 0.1 #CPU資源(核數),兩種方式,浮點數或者是整數+m,0.1=100m,最少值爲0.001核(1m) 
        memory: 32Mi #內存使用量   
      limits: #資源限制   
        cpu: 0.5   
        memory: 1000Mi   
    ports:   
    - containerPort: 80 #容器開發對外的端口 
      name: httpd  #名稱 
      protocol: TCP   
    livenessProbe: #pod內容器健康檢查的設置 
      httpGet: #經過httpget檢查健康,返回200-399之間,則認爲容器正常   
        path: / #URI地址   
        port: 80   
        #host: 127.0.0.1 #主機地址   
        scheme: HTTP   
      initialDelaySeconds: 180 #代表第一次檢測在容器啓動後多長時間後開始   
      timeoutSeconds: 5 #檢測的超時時間   
      periodSeconds: 15  #檢查間隔時間   
      #也能夠用這種方法   
      #exec: 執行命令的方法進行監測,若是其退出碼不爲0,則認爲容器正常   
      #  command:   
      #    - cat   
      #    - /tmp/health   
      #也能夠用這種方法   
      #tcpSocket: //經過tcpSocket檢查健康    
      #  port: number    
    lifecycle: #生命週期管理   
      postStart: #容器運行以前運行的任務   
        exec:   
          command:   
            - 'sh'   
            - 'yum upgrade -y'   
      preStop:#容器關閉以前運行的任務   
        exec:   
          command: ['service httpd stop']   
    volumeMounts:  #掛載持久存儲卷 
    - name: volume #掛載設備的名字,與volumes[*].name 須要對應     
      mountPath: /data #掛載到容器的某個路徑下   
      readOnly: True   
  volumes: #定義一組掛載設備   
  - name: volume #定義一個掛載設備的名字   
    #meptyDir: {}   
    hostPath:   
      path: /opt #掛載設備類型爲hostPath,路徑爲宿主機下的/opt,這裏設備類型支持不少種 
    #nfs
相關文章
相關標籤/搜索