kubectl
コマンドはKubernetesのコマンドラインインターフェイスです。kubectlコマンドの設定は、~/.kube/config
ファイルに設定されています。本記事では複数のKubernetesクラスタへの接続方法を管理するcontextの概要と接続先の切り替え方法を紹介します。
対象読者
- Kubernetesを初めて利用する管理者、開発者
TL;DR
目次
contextとは?
contextはクラスタの情報、ユーザ、ネームスペースを組み合わせたものです。この組み合わせで、どのKubernetesクラスタに接続するかが決まります。
- contextにはcluster、user、namespaceの3つのパラメータがあります。
- contextにはclusterとuserが含まれている必要があります。
- clusterとuserは、すべてのcontextで共有されているので、すべてのcontextで利用することができます。
- clusterとuserのペアで接続先のKubernetesクラスタが決まります。
- namespaceはデフォルトのネームスペースを指定します。オプション設定なので、ネームスペースを変更する必要があるときだけ設定します。
- kubectlコマンドでコンテキストを指定しなかった場合、カレントコンテキストが接続先になります。
現在のコンテキストを調べる方法は?
現在のkubectlの接続先(カレントコンテキスト)を調べるには、kubectl config current-context
コマンドを使います。
表示された結果が、現在のコンテキスト名になります。
コンテキストの一覧を表示する方法は?
コンテキストの一覧を表示するにはkubectl config get-contexts
コマンドを使います。
*
があるコンテキストが、カレントコンテキスト(現在のコンテキスト)になります。
コンテキストを切り替えるには?
コンテキストを切り替えるにはkubectl config use-context <context>
コマンドを使います。
kubectlコマンドの--context
オプションを利用することで、コマンドの実行ごとにコンテキストを切り替えることもできます。
コンテキストを削除するには?
コンテキストを削除するには、kubectl config delete-context <context>
コマンドを使います。
さいごに
本記事ではkubectlのコンテキストの切り替え方法を紹介しました。
GKEのgcloudコマンドでKubernetesクラスタを作成した場合など、自動的にkuectlのカレントコンテキストが作成したクラスタに切り替わります。複数のKubernetesクラスタを利用している場合、いつの間にかコンテキストが切り替わっている可能性もあります。kubectlコマンドを実行するときに、カレントコンテキストが目的のクラスタであるか、きちんと確認をしてからコマンドを実行するように、日ごろから意識していきたいですね。

投稿者プロフィール
最新の投稿
AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
セキュリティ2021年7月14日ゼロデイ攻撃とは
セキュリティ2021年7月14日マルウェアとは
WAF2021年7月13日クロスサイトスクリプティングとは?