関連記事

kubectl patchでリソース更新

【Kubernetes】ConfigMap/SecretでPodの環境変数設定

【kubectl】kubectl-pod-inspectでPodの情報を取得





Kubernetesにおいて、ContextとNamespaceを簡単に切り替えることができるkubeswitchについて簡単に紹介したいと思います。
kubeswitchとは、kubectxやkubieなどと同じようにKubernetesのContextを簡単に切り替えることができるツールです。
GitHub - danielfoehrKn/kubeswitch: The kubectx for operators.
The kubectx for operators. Contribute to danielfoehrKn/kubeswitch development by creating an account on GitHub.
kubectxについては、下記を参考にしてください。

【Kubernetes】kubectxとkubensでContextとNamespaceを簡単に切り替える
:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。
kubeswitchは、下記のような特徴があります。
同じようなツールとして、kubectxとkubieがあります。
GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl
Faster way to switch between clusters and namespaces in kubectl - ahmetb/kubectx
GitHub - kubie-org/kubie: A more powerful alternative to kubectx and kubens
A more powerful alternative to kubectx and kubens. Contribute to kubie-org/kubie development by creating an account on GitHub.
私はもともとkubectxを使っていたのですが、全てのターミナルで同じコンテキストを使うことになるので、ターミナルのウィンドウごとにContextを設定できるkubieに移行しようとしてました。
しかし、いざkubieを使ってみると、Contextのみを指定して切り替えた場合に、NamespaceがDefaultになってしまうため、Namespaceも指定して切り替える必要がありました。Issueとしては上がっているみたいですが、まだ対応はしていないようです。
kubie doesn't pick up the namespace defined in context · Issue #110 · kubie-org/kubie
Hi, since we are not allowed to list namespaces, we defined the namespaces in the context, but kubie doesn't pick up the namespace defined there when switching context, and only use the default nam...
そこで、ターミナルのウィンドウごとにContextを設定でき、Contextを切り替えるとNamespaceも切り替えてくれるkubeswitchを使うことにしました。
brewを使って、下記でインストールができます。
1brew install danielfoehrkn/switch/switchインストールが完了したら、下記を.bashrcや.zshrxに下記を追記します。
1INSTALLATION_PATH=$(brew --prefix switch) && source $INSTALLATION_PATH/switch.shちなみに、私はもともとkxでkubectxを使っていたので、下記のようにaliasを設定しました。
1alias kx="switch"簡単な使い方を紹介します。
switchコマンドでContextの名前を検索して、Contextを変更することができます。
1switch
Contextの名前を指定して、変更もできます。
1switch <context name>ターミナルのウィンドウごとにContextを使うことができます。

Namespaceだけを変える場合は、下記のコマンドを使います。
1switch ns1switch h
下記コマンドで、最後に使っていたContextに変更できます。
1switch .下記のコマンドだと、履歴の1つ前のContextに変更できます。
1switch -Contextにエイリアスを設定することができます。
下記のコマンドでエイリアスを設定できます。
1switch alias <alias>=<context name>設定したエイリアスを確認するには、下記のコマンドを使います。
1switch alias ls
設定したエイリアスを削除する場合は、下記のコマンドです。
1switch alias rm <alias>