
デバッグしたい GKE Kubernetes クラスターがあります。
たとえばイメージを使用してクラスター内でコンテナーを起動しubuntu
、完全な権限で SSH で接続して、コンテナー内にソフトウェアをインストールしたりapt
、さまざまなデバッグ コマンドを実行したりすることは可能ですか?
答え1
まず、名前空間またはノードをターゲットとするpod
単一のコンテナーを使用してデプロイすることが可能です。ubuntu
SSH を使用して接続するよりも ( を使用するかLoadBalancer
を公開するかのいずれかの広範な組み合わせを使用して可能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
現在の名前空間にあることを前提としています。 2 番目のコマンドは、一般的な形式を示します。
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
か、適用する前に適切なコンテキストがあることを確認してください。次のようになります。
kubectl apply -f path/to/yaml/file