开启临时容器配置需要在k8s1.16版本之后
kubeadm部署开启方式:
1、在/etc/kubernetes/manifests/kube-apiserver.yaml、/etc/sysconfig/kubelet、/etc/kubernetes/manifests/kube-scheduler.yaml配置文件中添加- --feature-gates=EphemeralContainers=true启动参数,/etc/sysconfig/kubelet添加方式如下:
KUBELET_EXTRA_ARGS="--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.2 --feature-gates=EphemeralContainers=true"
2、重启kubelet
systemctl daemon-reload
systemctl restart kubelet
二进制部署开启方式
1、vi /usr/lib/systemd/system/kube-apiserver.service
–feature-gates=EphemeralContainers=true
2、vi /usr/lib/systemd/system/kube-controller-manager.service
–feature-gates=EphemeralContainers=true
3、vi /usr/lib/systemd/system/kube-scheduler.service
–feature-gates=EphemeralContainers=true
4、vi /usr/lib/systemd/system/kube-proxy.service
–feature-gates=EphemeralContainers=true
5、vi /etc/kubernetes/kubelet-conf.yml
featureGates:
EphemeralContainers: true
6、重启所有服务
systemctl daemon-reload
systemctl restart kubelet kube-apiserver kube-scheduler kube-controller-manager kube-proxy
临时容器的验证
K8s 1.16+
https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/
K8s 1.18+
kubectl alpha debug redis-new-5b577b46c7-2jv4j -ti --image=registry.cn-beijing.aliyuncs.com/dotbalo/debug-tools
K8s 1.20+
kubectl debug redis-new-5b577b46c7-2jv4j -ti --image=registry.cn-beijing.aliyuncs.com/dotbalo/debug-tools
kubectl debug node/k8s-node01 -it --image=registry.cn-beijing.aliyuncs.com/dotbalo/debug-tools