Kubernetes作業の始まり!コンテキスト切り替えとNamespace管理の秘訣 🚀

こんにちは!CKAD(Certified Kubernetes Application Developer)合格への道のりの中で、最も基本的でありながら実務で非常に重要なContextとNamespaceの設定について見ていきましょう。🚀

この記事は、試験会場で慌てずに素早く作業環境を切り替える技術を習得することに重点を置いています。約15分集中して読めばマスターできるでしょう!


1. Context: 誰として、どこで作業するのか? 🧭

KubernetesにおけるContext(コンテキスト)は、簡単に言えば「作業アカウント」+「クラスター」+「ネームスペース」を一つにまとめたセットです。

CKAD試験では、複数のクラスターを行き来しながら問題を解く必要があります。各問題の冒頭にkubectl config use-context というコマンドが与えられるので、これを正確に実行することがすべての問題解決の第一歩です。

💡 主要コマンド

  • 現在のコンテキストを確認:

`

kubectl config current-context

`

  • 利用可能なすべてのコンテキストを表示:

`

kubectl config get-contexts

`

  • コンテキストを切り替える:

`

kubectl config use-context my-cluster-name

`


2. Namespace: どの部屋で作業するのか? 🏠

Namespace(ネームスペース)は、一つのクラスター内でリソースを論理的に分離する単位です。CKAD試験のほぼすべての問題は、特定のネームスペース内でリソースを作成することを要求します。

⚠️ 注意: ネームスペースを指定しない場合、デフォルトでdefaultネームスペースに作成されます。問題で要求されたネームスペース以外にリソースを作成すると0点になるので注意してください!

💡 主要コマンド

  • 特定のネームスペースのリソースを照会:

`

kubectl get pods -n my-namespace

`

  • リソース作成時にネームスペースを指定:

`

kubectl run nginx-pod –image=nginx -n my-namespace

`

  • デフォルトネームスペースを固定する(裏技!):毎回-n を付けるのが面倒な場合は、現在のコンテキストのデフォルトネームスペースを完全に変更できます。

`

kubectl config set-context –current –namespace=my-namespace

`


3. CKAD実践のヒント: 時間短縮の技術 ⏱️

試験は時間との戦いです!環境設定を素早く完了するためのいくつかのヒントを共有します。

1) Alias(エイリアス)設定

毎回kubectlと入力するのは長すぎます。kに短縮して使いましょう。

alias k=kubectl
complete -F __start_kubectl k # kでも自動補完をサポート

2) dry-runでYAMLファイルを生成する

コマンドで直接リソースを作成するよりも、YAMLファイルを生成して修正する方がはるかに正確です。

k run my-pod --image=nginx --dry-run=client -o yaml > pod.yaml

3) Vim設定(必須!)

YAMLファイルはインデントが命です。試験開始直後に~/.vimrcに以下の内容を追加してください。

echo "set ts=2 sw=2 et" >> ~/.vimrc

4. Hands-on: 実践演習 🛠️

以下のシナリオをターミナルで直接試してみてください。

シナリオ: dev-teamというネームスペースを作成し、現在のコンテキストがそのネームスペースをデフォルトとして参照するように設定した後、Nginxポッドを作成してください。

# 1. ネームスペースの作成
k create namespace dev-team

# 2. 現在のコンテキストのデフォルトネームスペースを変更
k config set-context --current --namespace=dev-team

# 3. 変更を確認 (現在のコンテキスト情報を出力)
k config get-contexts $(k config current-context)

# 4. ポッドを作成 (ネームスペースを指定しなくてもdev-teamに作成される)
k run web-server --image=nginx

# 5. 結果を確認
k get pods

まとめ 🏁

ContextとNamespaceは、Kubernetes管理の基本中の基本です。特にCKAD試験では、「私は今、どのクラスターのどのネームスペースにいるのか?」と常に自問自答する必要があります。

今日学んだkubectl configコマンドを、手が覚えるまで練習してみてください。皆様の合格を心から応援しています!🌟


Comments

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です