注冊(cè)網(wǎng)站需要注意什么全渠道營銷
在K8s集群中,當(dāng)Pod處于運(yùn)行狀態(tài)時(shí),kubelet通過使用探針(Probe)對(duì)容器的健康狀態(tài)執(zhí)行檢查和診斷。K8s支持三種不同類型的探針,分別是:livenessProbe(存活探針)、readinessProbe(就緒探針)和startupProbe(啟動(dòng)探針)。不同類型的探針都支持三種方式檢查方法,分別是:HTTPGetAction、ExecAction和TCPSocketAction。
視頻講解如下 |
---|
【趙渝強(qiáng)老師】K8s Pod探針的ExecAction |
下面重點(diǎn)討論提下探針的ExecAction檢查方法。該檢查方法是在容器內(nèi)部執(zhí)行Shell命令,如果命令退出時(shí)返回碼為0則認(rèn)為診斷成功。下面通過一個(gè)具體的示例來演示如何使用“ExecAction”方式的探針。
(1)創(chuàng)建execaction.yaml文件,輸入下面的內(nèi)容。
apiVersion: v1
kind: Pod
metadata:labels:test: livenessname: liveness-exec
spec:containers:- name: livenessimage: busyboxargs:- /bin/sh- -c- touch /tmp/healthy; sleep 10; rm -rf /tmp/healthy; sleep 10## 這里以存活探針為例livenessProbe: ## 指定存活探針檢查方法是ExecActionexec:## 指定在容器內(nèi)具體執(zhí)行的命令command:- cat- /tmp/healthy## 指定容器啟動(dòng)5秒后才進(jìn)行檢查initialDelaySeconds: 5 ## 指定每隔5秒檢查一次periodSeconds: 5
提示:這里使用ExecAction檢測(cè)文件“/tmp/healthy”。該文件創(chuàng)建后,每隔10秒就會(huì)被刪除。如果通過執(zhí)行ExecAction檢測(cè)文件被刪除,存活探針就會(huì)返回失敗,然后根據(jù)重啟策略進(jìn)行Pod的重啟。下次ExecAction檢測(cè)時(shí)再重復(fù)這一過程,檢測(cè)的過程將無限循環(huán)。
(2)使用“kubeclt apply”命令應(yīng)用execaction.yaml文件。
kubectl apply -f execaction.yaml
(3)多執(zhí)行幾次命令查看Pod的狀態(tài)信息,如下圖所示。
kubectl get pod