透過 SSH 存取 GKE Kubernetes 叢集?

透過 SSH 存取 GKE Kubernetes 叢集?

我有一個想要調試的 GKE Kubernetes 叢集。

是否可以使用映像和 SSH 等方式以完全權限啟動叢集內的容器ubuntu,以便我能夠在其中安裝軟體apt並運行各種偵錯命令?

答案1

首先,可以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}

第一個指令假定容器名稱為ubuntu且位於目前命名空間。第二個指令給了一般格式。

Pod 定義範例ubuntu

apiVersion: v1
kind: Pod
metadata:
  name: ubuntu
  labels:
    app: ubuntu
spec:
  containers:
  - image: ubuntu
    command:
      - "sleep"
      - "604800"
    imagePullPolicy: IfNotPresent
    name: ubuntu
  restartPolicy: Always

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

kubectl apply -f path/to/yaml/file

相關內容