k8s 配置文件 詳解

apiVersion: v1 # 【必須】版本號kind: Pod # 【必選】Podmetadata: # 【必選-Object】元數據  name: String # 【必選】 Pod的名稱  namespace: String # 【必選】 Pod所屬的命名空間  labels: # 【List】 自定義標籤列表    - name: String  annotations: # 【List】 自定義註解列表    - name: Stringspec: # 【必選-Object】 Pod中容器的詳細定義  containers: # 【必選-List】 Pod中容器的詳細定義    - name: String # 【必選】 容器的名稱      image: String # 【必選】 容器的鏡像名稱      imagePullPolicy: [Always | Never | IfNotPresent] # 【String】 每次都嘗試從新拉取鏡像 | 僅使用本地鏡像 | 若是本地有鏡像則使用,沒有則拉取      command: [String] # 【List】 容器的啓動命令列表,若是不指定,則使用鏡像打包時使用的啓動命令      args: [String] # 【List】 容器的啓動命令參數列表      workingDir: String # 容器的工做目錄      volumeMounts: # 【List】 掛載到容器內部的存儲卷配置        - name: String # 引用Pod定義的共享存儲卷的名稱,需使用volumes[]部分定義的共享存儲卷名稱          mountPath: Sting # 存儲卷在容器內mount的絕對路徑,應少於512個字符          readOnly: Boolean # 是否爲只讀模式,默認爲讀寫模式      ports: # 【List】 容器須要暴露的端口號列表        - name: String  # 端口的名稱          containerPort: Int # 容器須要監聽的端口號          hostPort: Int # 容器所在主機須要監聽的端口號,默認與containerPort相同。設置hostPort時,同一臺宿主機將沒法啓動該容器的第二份副本          protocol: String # 端口協議,支持TCP和UDP,默認值爲TCP      env: # 【List】 容器運行前需設置的環境變量列表        - name: String # 環境變量的名稱          value: String # 環境變量的值      resources: # 【Object】 資源限制和資源請求的設置        limits: # 【Object】 資源限制的設置          cpu: String # CPU限制,單位爲core數,將用於docker run --cpu-shares參數          memory: String # 內存限制,單位能夠爲MB,GB等,將用於docker run --memory參數        requests: # 【Object】 資源限制的設置          cpu: String # cpu請求,單位爲core數,容器啓動的初始可用數量          memory: String # 內存請求,單位能夠爲MB,GB等,容器啓動的初始可用數量      livenessProbe: # 【Object】 對Pod內各容器健康檢查的設置,當探測無響應幾回以後,系統將自動重啓該容器。能夠設置的方法包括:exec、httpGet和tcpSocket。對一個容器只須要設置一種健康檢查的方法        exec: # 【Object】 對Pod內各容器健康檢查的設置,exec方式          command: [String] # exec方式須要指定的命令或者腳本        httpGet: # 【Object】 對Pod內各容器健康檢查的設置,HTTGet方式。須要指定path、port          path: String          port: Number          host: String          scheme: String          httpHeaders:            - name: String              value: String        tcpSocket: # 【Object】 對Pod內各容器健康檢查的設置,tcpSocket方式          port: Number        initialDelaySeconds: Number # 容器啓動完成後首次探測的時間,單位爲s        timeoutSeconds: Number  # 對容器健康檢查的探測等待響應的超時時間設置,單位爲s,默認值爲1s。若超過該超時時間設置,則將認爲該容器不健康,會重啓該容器。        periodSeconds: Number # 對容器健康檢查的按期探測時間設置,單位爲s,默認10s探測一次        successThreshold: 0        failureThreshold: 0      securityContext:        privileged: Boolean  restartPolicy: [Always | Never | OnFailure] # Pod的重啓策略 一旦終止運行,都將重啓 | 終止後kubelet將報告給master,不會重啓 | 只有Pod以非零退出碼終止時,kubelet纔會重啓該容器。若是容器正常終止(退出碼爲0),則不會重啓。  nodeSelector: object # 設置Node的Label,以key:value格式指定,Pod將被調度到具備這些Label的Node上  imagePullSecrets: # 【Object】 pull鏡像時使用的Secret名稱,以name:secretkey格式指定    - name: String  hostNetwork: Boolean # 是否使用主機網絡模式,默認值爲false。設置爲true表示容器使用宿主機網絡,再也不使用docker網橋,該Pod將沒法在同一臺宿主機上啓動第二個副本  volumes: # 【List】 在該Pod上定義的共享存儲卷列表    - name: String # 共享存儲卷的名稱,volume的類型有不少emptyDir,hostPath,secret,nfs,glusterfs,cephfs,configMap      emptyDir: {} # 【Object】 類型爲emptyDir的存儲卷,表示與Pod同生命週期的一個臨時目錄,其值爲一個空對象:emptyDir: {}      hostPath: # 【Object】 類型爲hostPath的存儲卷,表示掛載Pod所在宿主機的目錄        path: String # Pod所在主機的目錄,將被用於容器中mount的目錄      secret: # 【Object】類型爲secret的存儲卷,表示掛載集羣預約義的secret對象到容器內部        secretName: String        items:          - key: String            path: String      configMap: # 【Object】 類型爲configMap的存儲卷,表示掛載集羣預約義的configMap對象到容器內部        name: String        items:          - key: String            path: String
相關文章
相關標籤/搜索