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

GKE 開発環境ノウハウ

More than 1 year has passed since last update.

はじめに

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

Why do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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