已解决:pod资源清单yaml中各字段详解
生活随笔
收集整理的這篇文章主要介紹了
已解决:pod资源清单yaml中各字段详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?1、按層級查看yaml清單
按照層級學習pod的yaml清單,比如apiVersion、kind、metadata、spec為第一層級,metadata下的name、namespace、lables為第二層級,以此類推。
查看一級屬性有哪些:
kubectl explain pod
[root@k8s-master01 ~]# kubectl explain pod KIND: Pod VERSION: v1 FIELDS:apiVersion <string>kind <string>metadata <Object>spec <Object>status <Object>?查看二級屬性有哪些:
比如查看二級屬性metadata:kubectl explain pod.metadata
[root@k8s-master01 ~]# kubectl explain pod.metadata KIND: Pod VERSION: v1 RESOURCE: metadata <Object> FIELDS:annotations <map[string]string>clusterName <string>creationTimestamp <string>deletionGracePeriodSeconds <integer>deletionTimestamp <string>finalizers <[]string>generateName <string>generation <integer>labels <map[string]string>managedFields <[]Object>name <string>namespace <string>ownerReferences <[]Object>resourceVersion <string>selfLink <string>uid <string>2、善于運用explain命令
可以通過explain命令來查看每種資源的可配置項
#?? kubectl explain 資源類型???????? 查看某種資源可以配置的一級屬性
#?? kubectl explain 資源類型.屬性???? 查看屬性的子屬性
3、pod清單
apiVersion: v1 #必選,版本號,例如v1 kind: Pod #必選,資源類型,例如 Pod metadata: #必選,元數據name: string #必選,Pod名稱namespace: string #Pod所屬的命名空間,默認為"default"labels: #自定義標簽列表- name: string spec: #必選,Pod中容器的詳細定義containers: #必選,Pod中容器列表- name: string #必選,容器名稱image: string #必選,容器的鏡像名稱imagePullPolicy: [ Always|Never|IfNotPresent ] #獲取鏡像的策略 command: [string] #容器的啟動命令列表,如不指定,使用打包時使用的啟動命令args: [string] #容器的啟動命令參數列表workingDir: string #容器的工作目錄volumeMounts: #掛載到容器內部的存儲卷配置- name: string #引用pod定義的共享存儲卷的名稱,需用volumes[]部分定義的的卷名mountPath: string #存儲卷在容器內mount的絕對路徑,應少于512字符readOnly: boolean #是否為只讀模式ports: #需要暴露的端口庫號列表- name: string #端口的名稱containerPort: int #容器需要監聽的端口號hostPort: int #容器所在主機需要監聽的端口號,默認與Container相同protocol: string #端口協議,支持TCP和UDP,默認TCPenv: #容器運行前需設置的環境變量列表- name: string #環境變量名稱value: string #環境變量的值resources: #資源限制和請求的設置limits: #資源限制的設置cpu: string #Cpu的限制,單位為core數,將用于docker run --cpu-shares參數memory: string #內存限制,單位可以為Mib/Gib,將用于docker run --memory參數requests: #資源請求的設置cpu: string #Cpu請求,容器啟動的初始可用數量memory: string #內存請求,容器啟動的初始可用數量lifecycle: #生命周期鉤子postStart: #容器啟動后立即執行此鉤子,如果執行失敗,會根據重啟策略進行重啟preStop: #容器終止前執行此鉤子,無論結果如何,容器都會終止livenessProbe: #對Pod內各容器健康檢查的設置,當探測無響應幾次后將自動重啟該容器exec: #對Pod容器內檢查方式設置為exec方式command: [string] #exec方式需要制定的命令或腳本httpGet: #對Pod內個容器健康檢查方法設置為HttpGet,需要制定Path、portpath: stringport: numberhost: stringscheme: stringHttpHeaders:- name: stringvalue: stringtcpSocket: #對Pod內個容器健康檢查方式設置為tcpSocket方式port: numberinitialDelaySeconds: 0 #容器啟動完成后首次探測的時間,單位為秒timeoutSeconds: 0 #對容器健康檢查探測等待響應的超時時間,單位秒,默認1秒periodSeconds: 0 #對容器監控檢查的定期探測時間設置,單位秒,默認10秒一次successThreshold: 0failureThreshold: 0securityContext:privileged: falserestartPolicy: [Always | Never | OnFailure] #Pod的重啟策略nodeName: <string> #設置NodeName表示將該Pod調度到指定到名稱的node節點上nodeSelector: obeject #設置NodeSelector表示將該Pod調度到包含這個label的node上imagePullSecrets: #Pull鏡像時使用的secret名稱,以key:secretkey格式指定- name: stringhostNetwork: false #是否使用主機網絡模式,默認為false,如果設置為true,表示使用宿主機網絡volumes: #在該pod上定義共享存儲卷列表- name: string #共享存儲卷名稱 (volumes類型有很多種)emptyDir: {} #類型為emtyDir的存儲卷,與Pod同生命周期的一個臨時目錄。為空值hostPath: string #類型為hostPath的存儲卷,表示掛載Pod所在宿主機的目錄path: string #Pod所在宿主機的目錄,將被用于同期中mount的目錄secret: #類型為secret的存儲卷,掛載集群與定義的secret對象到容器內部scretname: string items: - key: stringpath: stringconfigMap: #類型為configMap的存儲卷,掛載預定義的configMap對象到容器內部name: stringitems:- key: stringpath: string總結
以上是生活随笔為你收集整理的已解决:pod资源清单yaml中各字段详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 已解决:k8s集群启动后,默认创建哪些n
- 下一篇: 从领导身上学习到的几个观点