0%

k8s开启临时容器

说明

EphemeralContainers:官方说明

kubectl 版本为 v1.18 或者更高 beta 功能 默认不开启,需要手动开启, v1.22 版本开始成为正式功能无需开启.

如果执行kubectl debug xxxx 报以下错误说明需要手动开启临时容器功能:

error: ephemeral containers are disabled for this cluster (error from server: "the server could not find the requested resource").

手动开启操作

master节点

  • 修改apiserver
    编辑/etc/kubernetes/manifests/kube-apiserver.yaml

--feature-gates=xxxxx后面添加,EphemeralContainers=true,注意逗号.

  • 修改controller-manager
    编辑/etc/kubernetes/manifests/kube-controller-manager.yaml

--feature-gates=xxxxx后面添加,EphemeralContainers=true,注意逗号.

  • 修改kube-scheduler
    编辑/etc/kubernetes/manifests/kube-scheduler.yaml

--feature-gates=xxxxx后面添加,EphemeralContainers=true,注意逗号.

所有节点

  • 修改kubelet
    编辑/var/lib/kubelet/kubeadm-flags.env

添加--feature-gates=EphemeralContainers=true

修改后如下

KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.2 --feature-gates=EphemeralContainers=true"
  • 重启kubelet
systemctl daemon-reload
systemctl restart kubelet