👏

AKSに接続するとローカルのコンテキストが切れてしまう

2024/06/12に公開

はじめに

Kubernetes(k8s)のコンテキストは、kubectl コマンドを使用して Kubernetes クラスターとやり取りする際の設定情報を管理するための重要な要素です。コンテキストは、どのクラスターに接続するか、どのユーザーとして接続するか、そしてどのネームスペースを使用するかを指定します。

本題

k8sの勉強をしているのですが、普段通りに% kubectl get nodeをするといつもよりPodが多く表示されていました。なんか見慣れたPod名があるなと思ったらお昼に接続したAKSのPodでした。
元々使っていた環境に戻したいので、その備忘録を記載します。

k8sのアクセス先(コンテキスト)の確認

まず、現在のコンテキストを確認します。これにより、どのクラスターに接続しているかを確認できます。
% kubectl config get-contexts このコマンドを実行すると、以下のような出力が得られることがあります。

CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* aks-context aks-cluster aks-user
docker-desktop docker-desktop docker-desktop

ここで、CURRENT 列に * が付いている行が現在のコンテキストです。この場合、aks-context が現在のコンテキストであることがわかります。

コンテキストの切り替え

元々使っていた環境に戻すために、docker-desktop というコンテキストに切り替えます。
% kubectl config use-context docker-desktop
Switched to context "docker-desktop".
このコマンドを実行すると、コンテキストが docker-desktop に切り替わります。

Podの確認

コンテキストを切り替えたら、再度Podを確認します。これにより、元の環境のPodが表示されるはずです。
% kubectl get pod このコマンドを実行すると、いつものPodが表示されました。
NAME READY STATUS RESTARTS AGE
my-app-1 1/1 Running 0 1d my-app-2 1/1 Running 0 1d
安心、安心。これで元の環境に戻ることができました!

まとめ

Kubernetesのコンテキストを理解し、適切に管理することで、複数のクラスター間での作業がスムーズに行えます。今回のように、誤って別のクラスターに接続してしまった場合でも、コンテキストを切り替えることで簡単に元の環境に戻ることができます。 以上が、k8sのコンテキストに関する備忘録でした。

ヘッドウォータース

Discussion