k8s Pod單元
Pod節點yaml文件參數詳解:
apiVersion: v1 //版本
kind: Pod //類型,pod
metdata: //元數據
name: string //元數據,pod的名字
namespace: string //元數據,pod的命名空間
labels: //元數據,標簽列表
- name: string //元數據,標簽的名字
annotations: //元數據,自定義注解列表
- name: string //元數據,自定義注解名字
spec: //pod中容器的詳細定義
containers: //pod中的容器列表,可以有多個容器
- name: string //容器的名稱
images: string //容器中的鏡像
imagesPullPolicy: [ Always | Never | IfNotPresent ] //獲取鏡像的策略,默認值為Always,每次都嘗試重新下載鏡像
command: [ string ] //容器的啟動命令列表(不配置的話使用鏡像內部的命令)
args: [ string ] //容器參數列表
workingDir: string //容器的工作目錄
volumeMounts: //掛載到容器內部的存儲卷設置
- name: string
mountPath: string //存儲卷在容器內部Mount的絕對路徑
readOnly: boolean //默認值為讀寫
ports: //容器需要暴露的端口號列表
- name: string
containerPort: int //容器要暴露的端口
hostPort: int //容器所在主機監聽的端口 (容器暴漏端口映射到宿主機的端口,設置hostPort時同一台宿主機將不能再啟動該容器的第2份副本)
protocol: string //TCP和UDP,默認值為TCP
env: //容器運行前要設置的環境列表
- name: string
value: string
resources:
limits: //資源限制,容器的最大可用資源數量
cpu: string
memory: string
requeste: //資源限制,容器啟動的初始化資源數量
cpu: string
memory: string
livenessProbe: //pod內容器健康檢查的設置
exec:
command: [ string ] //exec方式需要指定的命令或腳本
httpGet: //通過httpget檢查健康
path: string
port: number
host: string
scheme: string
httpHeaders:
- name: string
value: string
tcpSocket: //通過tcpSocket檢查健康
port: number
initialDelaySeconds: 0 //首次檢查時間
timeoutSeconds: 0 //檢查超時時間
periodSeconds: 0 //檢查間隔時間
successThreshold: 0
faillureThreshold: 0
securityCountext: //安全配置
privileged: false
restartPolicy: [ Always | Never | OnFailure ] //重啟策略,默認值為Always
nodeSelector: object //節點選擇,表示將該pod調到包含這些label的Node上,以key:value格式指定
imagesPullSecrets:
- name: string
hostNetwork: false //是否使用主機網絡模式,啟用Docker網橋,默認false
volumes: //在該pod上定義共享存儲卷列表
- name: string
emptyDir: {} //是一種與pod同生命周期的存儲卷,是一個臨時的目錄,內容為空
hostPath: //pod所在主機上的目錄,將被用於容器中mount的目錄
path: string
secret: //類型為secret的存儲卷
secretName: string
item:
- key: string
path: string
configMap: //類型為configMap的存儲卷
name: string