LoginSignup
5
1

More than 5 years have passed since last update.

GKE 開発環境ノウハウ

Posted at

はじめに

GKE/kubernetes上でサービスを立てる事が増えてきました。
必然的に GCP プロジェクトの数や GKEクラスタ/ kubernetes ネームスペースの数など、
増えてきており、デプロイやオペレーションする上で
どのクラスタの、どのネームスペースに、何をapplyしようとしてるのか
をしっかり意識しないと事故れます。

この辺りは、 spinnaker が主流のCDツールだと思うのですが、
未だ手動で kubectl apply せざるを得ない場面がまぁまぁ、あります。

覚えたての k8s/gke でうぇーい :arrow_heading_up: ってなってたのに、間違えてproductionへapplyしちゃった :arrow_heading_down: とかでモチべが下がっても勿体ないです><
と言う事で、少しでも開発や運用をいい感じにして入れるツールや自身の環境などを紹介します。

自分はどこに居るのか

そして、何のために生まれてきたのか。もとい

本番(prod)/ 開発(dev)等の分離を、GKE Cluster , NameSpace , はたまた GCP Project と言った単位で分離しているケースがあると思います。

jonmosco/kube-ps1 がいい感じらしいです、なので導入する。以上

でいいと思いますが、自分はちょっと重い?のと、シンプルで中身を理解しておきたいタイプなので
まず、 gcpプロジェクトgke cluster を取得するコマンドを準備しました。

~/.bashrc とかに以下を追記

~/.bashrc
GET_GCP_PRJ=$(gcp-prj)
GET_GKE_CLUSTER=$(gke-cluster)

PS1='\[\033[32m\]'
PS1="$PS1""$GET_GCP_PRJ"
PS1="$PS1"'@ '
PS1="$PS1"'\[\033[35m\]'
PS1="$PS1""$GET_GKE_CLUSTER"
PS1="$PS1"'\[\033[33m\]'
PS1="$PS1"'\w '
PS1="$PS1"'\[\033[0m\]'
PS1="$PS1"'\$ '

これで取りあえず、以下 :arrow_down: の様にプロンプトに表示はされます。続く
※VSCodeでGit bash使用。

image.png

GCPプロジェクトの切替え

こちらが切替 コマンド です。そして peco をかませてみました。 
fzfでもいいと思います。試してないです…

qiita_gcloudsw.gif

GKEクラスタの切替え

ahmetb/kubectx がいい感じっぽそうでした。
自分には使いこなせなそう…だったので、単純な切替のみ にしました。同様にpecoかませてます。

kubesw.gif

同様にネームスペースの 切替え です。

qiita_kubens.gif

まとめ

プロンプト長いの好きくないので、あんまり使ってないですw
開発期間中とかガンガンdeployしたりする場合は、シェル環境やターミナルを
何かしら整えないと辛いと思いますので、一助になれば幸いです。

参考にしたサイト

ahmetb/kubectx
ocadaruma/zsh-gcloud-prompt
superbrothers/zsh-kubectl-prompt

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1