Help us understand the problem. What is going on with this article?

GKE で k8s クラスタの node に ssh する

More than 1 year has passed since last update.

pod (もしくは container) に入ってコマンドを叩くのであれば kubectl でできる。

$ kubectl exec -it <pod-name> /bin/bash

では、node (もしくは instance) に入ってコマンドを叩くにはどうするか。

案1: クラスタにpodをたててgcloud compute ssh

kubectl run で gcloud インストール済みのコンテナを立てて、そこからnodeにsshする。
クラスタのノード(インスタンス)に gcloud compute instances するための権限がついている必要がある。インスタンスにつく標準 service account にその権限はついているので特別絞っていなければ権限があるはず。

$ kubectl run -it gcloud --image=google/cloud-sdk:alpine --rm --restart=Never -- /bin/sh
# gcloud compute instances list
# gcloud compute ssh ubuntu@<node-name> --zone <zone> --internal-ip

案2: クラスタと同じネットワークに踏み台を作っておく

クラスタと同じネットワークに踏み台を作っておき、そこから gcloud compute ssh する。

kubernetes 関係ない。

おわりに

他に良い方法あれば welcome

sonots
A Ruby, Fluentd, and Chainer Committer. SRE Engineer. Qiitaは小ネタの投稿場所として利用しています。業務コードで、なぜそういう書き方をしているのか解説をQiitaに書いて、コードにはQiitaへのリンクを張る、という使い方をしていることが多いです(自己紹介じゃない)
https://medium.com/@sonots
zozotech
70億人のファッションを技術の力で変えていく
https://tech.zozo.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away