Kubernetes中Pod的yaml格式定義配置文件說明


 1 apiVersion: v1          # 必選,版本號
 2 kind: Pod               # 必選,Pod
 3 metadata:               # 必選,元數據
 4   name: String          # 必選,Pod名稱
 5   namespace: String       # 必選,Pod所屬的命名空間
 6   labels:                # 自定義標簽,Map格式
 7     Key: Value            # 鍵值對
 8   annotations:          # 自定義注解
 9     Key: Value            # 鍵值對
10 spec:                  # 必選,Pod中容器的詳細屬性
11   containers:            # 必選,Pod中容器列表
12   - name: String        # 必選,容器名稱
13     image: String        # 必選,容器的鏡像地址和名稱
14     imagePullPolicy: {Always | Never | IfNotPresent}    
      # 獲取鏡像的策略,Always表示下載鏡像,IfnotPresent 表示優先使用本地鏡像,否則下載鏡像,Never表示僅使用本地鏡像。
15 command: [String] # 容器的啟動命令列表(覆蓋),如不指定,使用打包鏡像時的啟動命令。 16 args: [String] # 容器的啟動命令參數列表 17 workingDir: String # 容器的工作目錄 18 volumeMounts: # 掛載到容器內部的存儲卷配置 19 - name: String # 引用Pod定義的共享存儲卷的名,需用Pod.spec.volumes[]部分定義的卷名 20 mountPath: String # 存儲卷在容器內Mount的絕對路徑,應少於512字符 21 readOnly: boolean # 是否為只讀模式 22 ports: # 容器需要暴露的端口庫號列表 23 - name: String # 端口號名稱 24 containerPort: Int # 容器需要監聽的端口號 25 hostPort: Int # 可選,容器所在主機需要監聽的端口號,默認與Container相同 26 env: # 容器運行前需設置的環境變量列表 27 - name: String # 環境變量名稱 28 value: String # 環境變量的值 29 resources: # 資源限制和請求的設置 30 limits: # 資源限制的設置 31 cpu: String # Cpu的限制,單位為Core數,將用於docker run --cpu-shares參數,如果整數后跟m,表示占用權重,1Core=1000m 32 memory: String # 內存限制,單位可以為Mib/Gib,將用於docker run --memory參數 33 requests: # 資源請求的設置 34 cpu: string # CPU請求,容器啟動的初始可用數量 35 memory: string # 內存請求,容器啟動的初始可用數量 36 livenessProbe:
      # 對Pod內容器健康檢查設置,當探測無響應幾次后將自動重啟該容器,檢查方法有exec、httpGet和tcpSocket,對一個容器只需設置其中一種方法即可。
37 exec: # 對Pod容器內檢查方式設置為exec方式 38 command: [String] # exec方式需要制定的命令或腳本 39 httpGet: # 對Pod容器內檢查方式設置為HttpGet方式,需要指定path、port 40 path: String # 網址URL路徑(去除對應的域名或IP地址的部分) 41 port: Int # 對應端口 42 host: String # 域名或IP地址 43 schema: String # 對應的檢測協議,如http 44 HttpHeaders: # 指定報文頭部信息 45 - name: String 46 value: String 47 tcpSocket: # 對Pod容器內檢查方式設置為tcpSocket方式 48 port: Int 49 initialDelaySeconds: Int # 容器啟動完成后首次探測的時間,單位為秒 50 timeoutSeconds: Int # 對容器健康檢查探測等待響應的超時時間,單位為秒,默認為1秒 51 periodSeconds: Int # 對容器監控檢查的定期探測時間設置,單位為秒,默認10秒一次 52 successThreshold: Int # 探測幾次成功后認為成功 53 failureThreshold: Int # 探測幾次失敗后認為失敗 54 securityContext: 55 privileged: false 56 restartPolicy: {Always | Never | OnFailure}
      # Pod的重啟策略,Always表示一旦不管以何種方式終止運行,kubelet都將重啟,OnFailure表示只有Pod以非0退出碼才重啟,Nerver表示不再重啟該Pod
57 nodeSelector: # 設置NodeSelector表示將該Pod調度到包含這個label的node上,以Key:Value的格式指定 58 Key: Value # 調度到指定的標簽Node上 59 imagePullSecrets: # Pull鏡像時使用的secret名稱,以Key:SecretKey格式指定 60 - name: String 61 hostNetwork: false # 是否使用主機網絡模式,默認為false,如果設置為true,表示使用宿主機網絡 62 volumes: # 在該Pod上定義共享存儲卷列表 63 - name: String # 共享存儲卷名稱(Volumes類型有多種) 64 emptyDir: { } # 類型為emptyDir的存儲卷,與Pod同生命周期的一個臨時目錄,為空值 65 hostPath: String # 類型為hostPath的存儲卷,表示掛載Pod所在宿主機的目錄 66 path: String # Pod所在宿主機的目錄,將被用於同期中Mount的目錄 67 secret: # 類型為Secret的存儲卷,掛載集群與定義的Secret對象到容器內部 68 secretname: String 69 items: # 當僅需掛載一個Secret對象中的指定Key時使用 70 - key: String 71 path: String 72 configMap: # 類型為ConfigMap的存儲卷,掛載預定義的ConfigMap對象到容器內部 73 name: String 74 items: # 當僅需掛載一個ConfigMap對象中的指定Key時使用 75 - key: String 76 path: String

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM