启用临时容器 AWS EKS

启用临时容器 AWS EKS

我正在尝试调试一个 distroless POD,尝试kubectl debug使用 aws eks 中默认禁用的临时容器。我使用的是 aws eks 1.21

✗  kubectl debug -it opentelemetry-collector-agent-6hqvf --image=busybox --target=some-app

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

那么如何为 EKS 启用它们?

答案1

Kubernetes v1.23 版本(尚未在 EKS 上提供)将临时容器功能从 alpha 版本移至 beta 版本。

当 EKS 增加对 Kubernetes v1.23 的支持时,可能会包括临时容器 API。目前还不能肯定地说 AWS 会朝哪个方向发展。

如果 EKS 确实添加了对此 API 的支持,请确保您应用了适当的限制。运行临时容器的能力会改变您的工作负载及其运行的集群的攻击面。

答案2

AWS EKS 1.23 现在包含以下功能

✗  k exec -ti ebs-csi-node-gn5g6 -- bash   
Defaulted container "ebs-plugin" out of: ebs-plugin, node-driver-registrar, liveness-probe, debugger-sbn42 (ephem)
OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown
command terminated with exit code 126

并通过临时容器:

✗  k debug -ti ebs-csi-node-gn5g6 --image=busybox --target=ebs-plugin
Targeting container "ebs-plugin". If you don't see processes from this container it may be because the container runtime doesn't support this feature.
Defaulting debug container name to debugger-fzpnj.
If you don't see a command prompt, try pressing enter.
/ # ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var
/ # 

相关内容