
我有一個想要調試的 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