pod yaml file
apiVersion: v1 #指定api版本,此值必須在kubectl apiversion中
kind: Pod #指定創(chuàng)建資源的角色/類(lèi)型
metadata: #資源的元數(shù)據(jù)/屬性
name: web04-pod #資源的名字,在同一個(gè)namespace中必須唯一
labels: #設(shè)定資源的標(biāo)簽,詳情請(qǐng)見(jiàn)http://blog.csdn.net/liyingke112/article/details/77482384
k8s-app: apache
version: v1
kubernetes.io/cluster-service: "true"
annotations: #自定義注解列表
- name: String #自定義注解名字
spec:#specification of the resource content 指定該資源的內(nèi)容
restartPolicy: Always #表明該容器一直運(yùn)行,默認(rèn)k8s的策略,在此容器退出后,會(huì)立即創(chuàng)建一個(gè)相同的容器
nodeSelector: #節(jié)點(diǎn)選擇,先給主機(jī)打標(biāo)簽kubectl label nodes kube-node1 zone=node1
zone: node1
containers:
- name: web04-pod #容器的名字
image: web:apache #容器使用的鏡像地址
imagePullPolicy: Never #三個(gè)選擇Always、Never、IfNotPresent,每次啟動(dòng)時(shí)檢查和更新(從registery)images的策略,
# Always,每次都檢查
# Never,每次都不檢查(不管本地是否有)
# IfNotPresent,如果本地有就不檢查,如果沒(méi)有就拉取
command: ['sh'] #啟動(dòng)容器的運(yùn)行命令,將覆蓋容器中的Entrypoint,對(duì)應(yīng)Dockefile中的ENTRYPOINT
args: ["$(str)"] #啟動(dòng)容器的命令參數(shù),對(duì)應(yīng)Dockerfile中CMD參數(shù)
env: #指定容器中的環(huán)境變量
- name: str #變量的名字
value: "/etc/run.sh" #變量的值
resources: #資源管理,請(qǐng)求請(qǐng)見(jiàn)http://blog.csdn.net/liyingke112/article/details/77452630
requests: #容器運(yùn)行時(shí),最低資源需求,也就是說(shuō)最少需要多少資源容器才能正常運(yùn)行
cpu: 0.1 #CPU資源(核數(shù)),兩種方式,浮點(diǎn)數(shù)或者是整數(shù)+m,0.1=100m,最少值為0.001核(1m)
memory: 32Mi #內(nèi)存使用量
limits: #資源限制
cpu: 0.5
memory: 32Mi
ports:
- containerPort: 80 #容器開(kāi)發(fā)對(duì)外的端口
name: httpd #名稱(chēng)
protocol: TCP
livenessProbe: #pod內(nèi)容器健康檢查的設(shè)置,詳情請(qǐng)見(jiàn)http://blog.csdn.net/liyingke112/article/details/77531584
httpGet: #通過(guò)httpget檢查健康,返回200-399之間,則認(rèn)為容器正常
path: / #URI地址
port: 80
#host: 127.0.0.1 #主機(jī)地址
scheme: HTTP
initialDelaySeconds: 180 #表明第一次檢測(cè)在容器啟動(dòng)后多長(zhǎng)時(shí)間后開(kāi)始
timeoutSeconds: 5 #檢測(cè)的超時(shí)時(shí)間
periodSeconds: 15 #檢查間隔時(shí)間
#也可以用這種方法
#exec: 執(zhí)行命令的方法進(jìn)行監(jiān)測(cè),如果其退出碼不為0,則認(rèn)為容器正常
# command:
# - cat
# - /tmp/health
#也可以用這種方法
#tcpSocket: //通過(guò)tcpSocket檢查健康
# port: number
lifecycle: #生命周期管理
postStart: #容器運(yùn)行之前運(yùn)行的任務(wù)
exec:
command:
- 'sh'
- 'yum upgrade -y'
preStop:#容器關(guān)閉之前運(yùn)行的任務(wù)
exec:
command: ['service httpd stop']
volumeMounts: #詳情請(qǐng)見(jiàn)http://blog.csdn.net/liyingke112/article/details/76577520
- name: volume #掛載設(shè)備的名字,與volumes[*].name 需要對(duì)應(yīng)
mountPath: /data #掛載到容器的某個(gè)路徑下
readOnly: True
volumes: #定義一組掛載設(shè)備
- name: volume #定義一個(gè)掛載設(shè)備的名字
#meptyDir: {}
hostPath:
path: /opt #掛載設(shè)備類(lèi)型為hostPath,路徑為宿主機(jī)下的/opt,這里設(shè)備類(lèi)型支持很多種
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。