# yaml格式的pod定義文件完整內(nèi)容:
apiVersion: v1 #必選蜜徽,版本號并淋,例如v1
kind: Pod #必選 可以是其他的類型比如Deployment个唧、Service 但是下面的內(nèi)容要自己改變
metadata: #必選,元數(shù)據(jù)
name: string #必選暑诸,Pod名稱
namespace: string #必選,Pod所屬的命名空間
labels: #自定義標簽
- name: string #自定義標簽名字
annotations: #自定義注釋列表
- name: string
spec: #必選,Pod中容器的詳細定義
containers: #必選帐我,Pod中容器列表
- name: string #必選塞琼,容器名稱
image: string #必選菠净,容器的鏡像名稱
imagePullPolicy: [Always | Never | IfNotPresent] #獲取鏡像的策略 Alawys表示下載鏡像 IfnotPresent表示優(yōu)先使用本地鏡像,否則下載鏡像彪杉,Nerver表示僅使用本地鏡像
command: [string] #容器的啟動命令列表毅往,如不指定,使用打包時使用的啟動命令
args: [string] #容器的啟動命令參數(shù)列表
workingDir: string #容器的工作目錄
volumeMounts: #掛載到容器內(nèi)部的存儲卷配置
- name: string #引用pod定義的共享存儲卷的名稱派近,需用volumes[]部分定義的的卷名
mountPath: string #存儲卷在容器內(nèi)mount的絕對路徑煞抬,應(yīng)少于512字符
readOnly: boolean #是否為只讀模式
ports: #需要暴露的端口庫號列表
- name: string #端口號名稱
containerPort: int #容器需要監(jiān)聽的端口號
hostPort: int #容器所在主機需要監(jiān)聽的端口號,默認與Container相同
protocol: string #端口協(xié)議构哺,支持TCP和UDP革答,默認TCP
env: #容器運行前需設(shè)置的環(huán)境變量列表
- name: string #環(huán)境變量名稱
value: string #環(huán)境變量的值
resources: #資源限制和請求的設(shè)置
limits: #資源限制的設(shè)置
cpu: string #Cpu的限制战坤,單位為core數(shù),將用于docker run --cpu-shares參數(shù)
memory: string #內(nèi)存限制残拐,單位可以為Mib/Gib途茫,將用于docker run --memory參數(shù)
requests: #資源請求的設(shè)置
cpu: string #Cpu請求,容器啟動的初始可用數(shù)量
memory: string #內(nèi)存清楚溪食,容器啟動的初始可用數(shù)量
livenessProbe: #對Pod內(nèi)個容器健康檢查的設(shè)置囊卜,當探測無響應(yīng)幾次后將自動重啟該容器,檢查方法有exec错沃、httpGet和tcpSocket栅组,對一個容器只需設(shè)置其中一種方法即可
exec: #對Pod容器內(nèi)檢查方式設(shè)置為exec方式
command: [string] #exec方式需要制定的命令或腳本
httpGet: #對Pod內(nèi)個容器健康檢查方法設(shè)置為HttpGet,需要制定Path枢析、port
path: string
port: number
host: string
scheme: string
HttpHeaders:
- name: string
value: string
tcpSocket: #對Pod內(nèi)個容器健康檢查方式設(shè)置為tcpSocket方式
port: number
initialDelaySeconds: 0 #容器啟動完成后首次探測的時間玉掸,單位為秒
timeoutSeconds: 0 #對容器健康檢查探測等待響應(yīng)的超時時間,單位秒醒叁,默認1秒
periodSeconds: 0 #對容器監(jiān)控檢查的定期探測時間設(shè)置司浪,單位秒,默認10秒一次
successThreshold: 0
failureThreshold: 0
securityContext:
privileged:false
restartPolicy: [Always | Never | OnFailure]#Pod的重啟策略把沼,Always表示一旦不管以何種方式終止運行啊易,kubelet都將重啟,OnFailure表示只有Pod以非0退出碼退出才重啟饮睬,Nerver表示不再重啟該Pod
nodeSelector: obeject #設(shè)置NodeSelector表示將該Pod調(diào)度到包含這個label的node上租谈,以key:value的格式指定
imagePullSecrets: #Pull鏡像時使用的secret名稱,以key:secretkey格式指定
- name: string
hostNetwork:false #是否使用主機網(wǎng)絡(luò)模式捆愁,默認為false割去,如果設(shè)置為true,表示使用宿主機網(wǎng)絡(luò)
volumes: #在該pod上定義共享存儲卷列表
- name: string #共享存儲卷名稱 (volumes類型有很多種)
emptyDir: {} #類型為emtyDir的存儲卷牙瓢,與Pod同生命周期的一個臨時目錄劫拗。為空值
hostPath: string #類型為hostPath的存儲卷,表示掛載Pod所在宿主機的目錄
path: string #Pod所在宿主機的目錄矾克,將被用于同期中mount的目錄
secret: #類型為secret的存儲卷页慷,掛載集群與定義的secre對象到容器內(nèi)部
scretname: string
items:
- key: string
path: string
configMap: #類型為configMap的存儲卷,掛載預(yù)定義的configMap對象到容器內(nèi)部
name: string
items:
- key: string
path: string
apiversion
可通過kubectl api-versions 查看所有版本編號
kind
資源的類型 詳細說明