1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者でも構築できる!EKS道場【Day13】kubeconfigを極めよ!〜EKSとの対話をつかさどる秘伝の書〜

Posted at

【Day14】kubeconfigを極めよ!〜EKSとの対話をつかさどる秘伝の書〜

⛩️ はじめに:kubectlがクラスタと会話できる理由

EKS道場のこれまでの修行では、当然のように kubectl を使ってクラスタを操作してきました。しかし──
kubectlは、どうやってEKSクラスタと通信しているのでしょう?

その秘密が詰まった「巻物」こそ、kubeconfig です!

📜 kubeconfigとは何か?

簡単に言えば、kubectlにとっての 設定ファイル
「誰が(user)、どのクラスタに(cluster)、どう接続するか(context)」という情報が書かれています。

🔍 kubeconfigの三大構成要素を解き明かせ!

┌─────────────┐
│ Context     │
│─────────────│
│ name: dev   │
│ context:    │                  
│  cluster: A │──────────────────┐
│  user: U    │──────────────────|────┐
└──────────── ┘             |    │
                                 |    | 
     ┌───────────────────────┐   |    │
     │ Cluster           │  ◄┘    |
     │───────────────────────│        |
     │ name: A           |        |
     │ server: https://...   |        |
     │ certificate-authority |        |
     └───────────────────────┘        |
                                      |
     ┌─────────────────────────┐      |
     │ User                    │      |
     │─────────────────────────│      |
     │ name: U                 │      |
     │ exec: aws eks get-token │◄─────┘
     └─────────────────────────┘

このように、Contextは Cluster と User の組み合わせです。
kubectl は現在の context にしたがって、適切なクラスタにアクセスします。

🧪 実践:Contextを確認してみよう

kubectl config get-contexts
kubectl config current-context
CURRENT   NAME            CLUSTER         AUTHINFO
*         dev             eks-dev         aws-user
          prod            eks-prod        aws-prod-user

切り替えたいときは:

kubectl config use-context prod

🧠 そもそも、EKSの kubeconfig はどうやって作られた?

実は以下のコマンドで作られています:

aws eks update-kubeconfig --name your-cluster

これにより、以下のような「User(認証)」情報が埋め込まれます:

users:
- name: arn:aws:iam::123456789012:role/eks-admin
  user:
    exec:
      command: aws
      args:
        - eks
        - get-token
        - --cluster-name
        - your-cluster

これは、kubectl が IAM 認証を通じて EKS にアクセスできるようにする仕組みです。

🔄 kubeconfig を切り替えて使いたいときは?

複数の kubeconfig をマージすることもできます。

export KUBECONFIG=~/.kube/dev.yaml:~/.kube/prod.yaml
kubectl config view --merge --flatten

また、個別に切り替えて使いたいときは --kubeconfig オプションも便利です。

kubectl get pod --kubeconfig ~/.kube/prod.yaml

📌 まとめ:kubectlの背後にある「対話の術式」

kubeconfig は、クラスタとの通信設定が書かれた巻物!

  • Context = Cluster + User の組み合わせ。
  • AWS IAMを使うEKSなら、aws eks get-token 経由で自動認証。
  • 複数クラスタや環境を切り替える術も身につけた!

次回予告 📢:完走おめでとう!14日間のEKS修行を振り返ろう

2週間のEKS道場もこれにて終了となります。
ここまで学んだことを振り返って、自分の成長を実感しましょう🔥

よければフォロー&いいねお願いします🙏

  • 「面白かった」「続きが気になる!」と思ったらLGTM👍
  • コメントで「聞きたい内容」「つまずきポイント」などもぜひ教えてください!

それではまた明日、EKS道場でお会いしましょう!押忍🔥

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?