在具有多个容器的 pod 中登录到 Kubernetes 容器

Mik*_*ike 0 kubernetes google-kubernetes-engine

我可以按照以下指南登录到单个容器 pod

https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/

kubectl exec --stdin --tty $POD_API -- /bin/bash
Run Code Online (Sandbox Code Playgroud)

其中 $POD_API=api-79c8g4948d-24vth [或任何 kubernetes 分配给它的]

但是,我有一个带有 2 个容器的 pod [一个是 cloudsql 代理,另一个是 api]。

如何登录我的 api 容器?我的 api 容器名为:api,而 cloudsql 代理名为 cloudsql-proxy。

Arg*_*dhu 5

使用-c选择容器

kubectl exec podname -c containername --stdin --tty -- /bin/bash
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下登录到api容器

kubectl exec $POD_API -c api --stdin --tty -- /bin/bash
Run Code Online (Sandbox Code Playgroud)

并登录到 cloudsql 代理容器

kubectl exec $POD_API -c cloudsql-proxy --stdin --tty -- /bin/bash
Run Code Online (Sandbox Code Playgroud)