Pod就緒性探測

z597011036發表於2019-09-29

   當Pod容器啟動成功後還沒有載入配置和資料,以及其它第三方指令碼服務,在這過程中如有客戶端傳送請求會等待太久,響應較慢,這會大大影響客戶的體驗。因此,為了避免當pod啟動成功後立即處理客戶端請求,而是等待容器所有初使化工作完成後進入“就緒”狀態。就緒性探測失敗時不會殺死或重啟容器,而是確保不會有客戶端請求進入Pod對像。就緒性探測支援三種方式:exec,httpGet和tcpSocket。


1.使用exec探測檔案存在

[root@k8s01 yaml]# kubectl explain pods.spec.containers.readinessProbe

[root@k8s01 yaml]# vim execreadiness.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: exec-readinessprobe
  name: readinessprobe
spec:
  containers:
  - name: exec-readinessprobe
    image: busybox:latest
    args: ["/bin/sh","-c","touch /tmp/test.txt"]
    readinessProbe:
      exec:
        command: ["test","-e","/tmp/test.txt"]    --探測檔案是否存在,如果存在立即進入就緒性
      initialDelaySeconds: 5     --Pod初使化完成後使用command命令進行探測(5秒)
      periodSeconds: 5    --探測週期5秒

[root@k8s01 yaml ]# kubectl apply -f execreadiness.yaml

pod/readinessprobe created

[root@k8s01 yaml ]#

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25854343/viewspace-2658735/,如需轉載,請註明出處,否則將追究法律責任。

相關文章