本日取り上げるテーマは、CKAD(Certified Kubernetes Application Developer) 試験の始まりであり終わりとも言える「作業環境設定(Context & Namespace)」です。試験会場で最初に直面する環境であり、実務においてもマルチクラスター環境を扱うエンジニアにとっては空気のような技術です。
誤ったContextで作業して、とんでもないクラスターのリソースを削除するという恐ろしい経験をしないためには、今日の内容を完璧に習得する必要があります。🚀

🏗️ Kubernetes作業環境の核心:ContextとNamespace
Kubernetesクラスターを管理する際、私たちは通常 ~/.kube/config ファイルを使用します。このファイルには複数のクラスター情報とユーザー情報が含まれており、これらを効率的に切り替えて使用することが核心です。
1. Kubeconfigの構造を理解する 📂
Kubeconfigファイルは、大きく分けて3つの要素の組み合わせで構成されています。
- Clusters: 接続するクラスターのアドレス(API Server)と認証情報。
- Users: クラスターに接続するユーザーアカウントまたはトークン。
- Contexts: 「どのユーザー(User)がどのクラスター(Cluster)のどのネームスペース(Namespace)をデフォルトとして使用するか」を定義した連結要素。
2. Contextを管理する:「今、どこにいるのか?」 📍
CKAD試験では、問題ごとに「どのContextで作業せよ」という指示が出されます。この時、Contextの切り替えを間違えると、いくら正解を記述しても点数を得ることはできません。
- 現在使用中のContextを確認
`
kubectl config current-context
`
- 全Contextリストを確認
`
kubectl config get-contexts
`
- Contextを切り替える (最も重要!)
`
特定のcontextに切り替える
kubectl config use-context
`
3. Namespace:クラスター内の論理的区画 🏢
ネームスペースは、1つの物理クラスターを複数の論理的な仮想クラスターに分割する単位です。試験問題の90%以上は、特定のネームスペース内でリソースを作成するよう要求します。
- 特定のネームスペースのリソースを照会
`
kubectl get pods -n
`
- デフォルトネームスペースを固定する (時間短縮の秘訣!) 毎回 -n namespace を入力するのは面倒で、ミスをする可能性が高まります。現在のContextのデフォルトネームスペースを完全に変更することができます。このコマンドを使用すると、以降 `kubectl get pods` を打つだけで、そのネームスペースのリソースが表示されます。
`
kubectl config set-context –current –namespace=
`
4. 実践ツールのおすすめ:kubectxとkubens 🛠️
実務ではコマンドが長すぎるため、オープンソースツールのkubectxとkubensがよく使われます。(試験会場では使用できない場合があるので、基本コマンドも必ず習得しておきましょう!)
# contextを切り替える (kubectx)
kubectx my-cluster-name
# namespaceを切り替える (kubens)
kubens dev-team
5. CKAD試験会場必須チェックリスト ✅
試験環境に接続したら、次のステップを習慣化してください。
- Context確認: 問題上部に記載されている `kubectl config use-context …` コマンドをコピーして実行してください。
- Namespace確認: 作業すべきネームスペースが明示されている場合は、コマンドの最後に常に `-n
` を付けるか、`set-context` で完全に固定してください。 - 検証: リソースを作成した後には、必ず `kubectl get all -n
` で意図した場所に正しく作成されたかを確認してください。
💡 終わりに
ContextとNamespaceの管理は、単なる設定を超えて安全な運用の核心です。特に私たちのように複数の資格を制覇しようとする「クバーストロノート」にとっては、指が自動的に反応すべき基本中の基本です。⌨️
今日学んだ設定法を通じて、皆さんのターミナルがさらに洗練されたコックピットになることを願っています。
コメントを残す