通过 SSH 访问 GKE Kubernetes 集群?

Sla*_* II 3 kubernetes google-kubernetes-engine

我有一个想要调试的 GKE Kubernetes 集群。

是否可以使用ubuntu图像和 SSH 等方式以完全权限启动集群内的容器,以便我能够在其中安装软件并apt运行各种调试命令?

fsw*_*ngs 7

首先,可以pod使用单个容器来部署,其中包括ubuntu针对命名空间甚至节点的容器。

与使用 SSH 连接到它(可以使用 aLoadBalancer或公开 a的广泛组合NodePort)相比,该工具更容易使用kubectl

如果您使用的是Cloud Shell已安装的软件,或者如果使用本地笔记本电脑,则必须使用该gcloud工具安装它。

我建议使用以下语法直接连接到容器:

# Run bash on Ubuntu container
kubectl exec -it ubuntu -- bash

# General syntax
kubectl -n {namespace} exec -it {pod-name} -- {command}
Run Code Online (Sandbox Code Playgroud)

第一个命令假定容器名称为ubuntu且位于当前命名空间中。第二个命令给出了一般格式。

Pod 定义示例ubuntu

# Run bash on Ubuntu container
kubectl exec -it ubuntu -- bash

# General syntax
kubectl -n {namespace} exec -it {pod-name} -- {command}
Run Code Online (Sandbox Code Playgroud)

您可以namespace在其中添加 a 或确保您在申请之前拥有正确的上下文。就像是:

kubectl apply -f path/to/yaml/file
Run Code Online (Sandbox Code Playgroud)