一種方式似乎是從內部用容器的入口點腳本陷阱功能殺死吊艙。 它需要有關serviceaccount的權限以及對kube cluster API執行http請求的能力。
function kube_cleanup {
# if running in kube only.
# assumes KUBE_POD_NAME is passed to this container.
if [ -f '/var/run/secrets/kubernetes.io/serviceaccount/namespace' ]; then
namespace=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
kube_url="https://kubernetes.default/api/v1/namespaces/$namespace/pods/$KUBE_POD_NAME"
curl -v --tlsv1.2 --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt -H "Authorization: Bearer $token" -X "DELETE" $kube_url
fi
}
trap kube_cleanup EXIT
您能否更詳細地解釋如何在工作中定義重要容器與非重要容器?我的所有容器的容器都有重新啓動策略Never。但是,這並不能解決一個(重要的)死亡的情況。 – mkleint