Kubeconfigとコンテキスト
kubeconfigファイルを使って複数のクラスターへのアクセスを管理し、コンテキストを切り替えます。
「Kubeconfigとコンテキスト」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
K8sへのアクセスキー
Kubernetesクラスターの管理は、複数のリモコンを同時に扱うように感じることがあります。クラスターごとに固有のアクセス情報と設定が必要です。
このレッスンでは、複数のKubernetesクラスターを整理し、スムーズに切り替えるための中心的なツールであるKubeconfigを紹介します。

Kubeconfigとは
Kubeconfigファイルは、Kubernetesクラスターにアクセスするための設定情報を含むYAMLファイルです。
自分が操作するすべてのKubernetesクラスターについて、住所録と鍵束をまとめたものだと考えてください。kubectlに、クラスターの場所と認証方法を伝えます。
Kubeconfigファイル
デフォルトでは、ローカルマシン上のKubeconfigファイルは~/.kube/configにあります。
これは通常YAML形式で記述されたプレーンテキストファイルです。任意のテキストエディターで開いて構造を確認できますが、通常はkubectlコマンドから管理します。
Kubeconfigの構造:クラスター
Kubeconfigファイルは、clusters、users、contextsという3つの主要セクションに情報を整理します。
clustersセクションには、接続可能なさまざまなKubernetesクラスターが一覧表示されます。各クラスターのエントリには、名前、APIサーバーのアドレス、認証局データが含まれます。
これは「どこに接続するか」を示す部分です。
Kubeconfigの構造:ユーザー
次に、usersセクションでは、クラスターを操作するための認証情報を定義します。
- 各ユーザーのエントリには名前と、クライアント証明書、トークン、ユーザー名とパスワードなど、使用する認証情報が指定されます。
これは「自分が誰であるかをどのように証明するか」を示す部分です。
Kubeconfigの構造:コンテキスト
日常的な利用で最も重要なセクションはcontextsです。コンテキストはユーザーとクラスターを組み合わせたものです。
- どのユーザーがどのクラスターにアクセスするかを定義する便利なショートカットです。
- 複数のコンテキストを用意できます。それぞれが異なるクラスターを指すことも、同じクラスター上の異なるユーザーを指すこともできます。
これは「どのユーザーが、どのクラスターを使うか」を表す部分です。
設定を確認する
kubectl config viewコマンドを使うと、現在のKubeconfigの内容を表示できます。関連するすべてのファイルからマージされた設定が表示されます。
システム上で定義されているクラスター、ユーザー、コンテキストを確認するのに便利です。出力は長くなることがありますが、説明したYAMLの構造に従っています。
kubectl config viewコンテキストを確認する
Kubeconfigファイルに定義されているすべてのコンテキストをすぐに確認するには、kubectl config get-contextsコマンドを使います。
このコマンドは利用可能なすべてのコンテキストを一覧表示するため、切り替え可能なクラスターと、現在アクティブなクラスター(アスタリスクで示されます)を簡単に確認できます。
kubectl config get-contextsアクティブなクラスターを変更する
別のKubernetesクラスターやユーザー設定に切り替えるには、コンテキスト名を続けて指定してkubectl config use-contextコマンドを使います。
たとえば、minikubeという名前のコンテキストがある場合、それをアクティブにするとローカルのMinikubeクラスターとのやり取りを開始できます。
kubectl config use-context minikubeコンテキストクイズ
Kubeconfigのコンテキストについて、簡単に確認してみましょう。
Kubeconfigのまとめ
よくできました。Kubernetesクラスターへのアクセスを管理するための重要なツールであるKubeconfigファイルについて学びました。
- Kubeconfigファイル(
~/.kube/config)には、クラスター、ユーザー、コンテキストの情報が保存されます。 - コンテキストはユーザーとクラスターを組み合わせたもので、簡単に切り替えられる重要な要素です。
kubectl config viewは完全な設定を表示します。kubectl config get-contextsはコンテキストを一覧表示します。kubectl config use-context [name]はコンテキストを切り替えます。
この知識は、複数のKubernetes環境を扱ううえで非常に重要です。
よくある質問
「Kubeconfigとコンテキスト」レッスンは無料ですか?
はい。「Kubeconfigとコンテキスト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Kubeconfigとコンテキスト」で何を学びますか?
kubeconfigファイルを使って複数のクラスターへのアクセスを管理し、コンテキストを切り替えます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Kubeconfigとコンテキスト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Minikubeのインストールとセットアップ
- Kubeconfigとコンテキスト
- シンプルなアプリのデプロイ
- クラスターの調査とトラブルシューティング