■ はじめに
https://dk521123.hatenablog.com/entry/2022/01/12/110555
で、kubectl configコマンドをやった。 が、トラブルシュートなどでも使えそうだし、 かなりボリューミーなので、こちらでまとめる。
目次
【1】kubeconfigファイル 1)ファイル構成 2)設定ファイルのパスについて 【2】kubectl configコマンド 【3】データを取得するkubectl configコマンド 1)kubectl config view 2)kubectl config get-contexts 3)kubectl config current-context 【4】データを削除するkubectl configコマンド 1)kubectl config delete-cluster <ARN> 2)kubectl config delete-context <ARN> 3)kubectl config delete-user <ARN> 4)kubectl config unset <TargetOjbect>
【1】kubeconfigファイル
* クラスタへの接続情報が記載されているファイル
深堀りすると...
kubectl が Kubernetes Master と通信する際に 接続先サーバ情報や認証情報などが必要なのだが その情報を保持しているファイルが、「kubeconfigファイル」である
1)ファイル構成
* ファイルの主な構成は、以下の3通り+α。
[1] clusters
* 接続先クラスタ情報(Kubernetesクラスタ)
[2] users
* 接続するユーザ。 * 認証情報を定義
[3] contexts
* 「[1] cluster」と「[2] user」の組み合わせ
+α:current-context
* 現在使用している context
例
$ kubectl config view apiVersion: v1 # [1] clusters clusters: - cluster: # 接続先クラスタ certificate-authority-data: DATA+OMITTED server: https://kubernetes.docker.internal:6443 name: docker-desktop # [3] contexts contexts: # 接続先と認証情報の組み合わせ - context: cluster: docker-desktop user: docker-desktop name: docker-desktop - context: cluster: docker-desktop user: docker-desktop name: docker-for-desktop # +α:current-context current-context: docker-desktop # 現在使用している context kind: Config preferences: {} # [2] users users: # 認証情報 - name: docker-desktop user: client-certificate-data: REDACTED client-key-data: REDACTED
2)設定ファイルのパスについて
https://qiita.com/yuya_takeyama/items/74d884527927e2139c5e
が詳しく書いてある。感謝。
デフォルト
* 「<HOME>/.kube/config」
環境変数「KUBECONFIG」
# 「~/.kube/kubconfig2」に変更 KUBECONFIG=~/.kube/kubconfig2
補足:その他の指定
# --kubeconfigフラグで個別に指定も可能。 kubectl --kubeconfig=~/.kube/kubconfig3 config get-contexts
【2】kubectl configコマンド
* 困ったら、「kubectl config -h」でヘルプを読むのが吉。
構文
kubectl config SUBCOMMAND [flags]
【3】データを取得するkubectl configコマンド
1)kubectl config view
* kubeconfigファイルの設定を表示
コマンド例
$ kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority: C:\Users\Daisuke\.minikube\ca.crt server: https://xxx.xxx.xxx.xxxx name: arn.aws.eks:us-west-2:xxxxxx contexts: - context: cluster: arn.aws.eks:us-west-2:xxxxxx namespace: default user: arn.aws.eks:us-west-2:xxxxxx name: arn.aws.eks:us-west-2:xxxxxx current-context: arn.aws.eks:us-west-2:xxxxxx kind: Config preferences: {} users: - name: arn.aws.eks:us-west-2:xxxxxx user: client-certificate: xxxx client-key: xxxxx
2)kubectl config get-contexts
* コンテキストのリストを一覧表示
コマンド例
kubectl config get-contexts
3)kubectl config current-context
* 現在のコンテキストを表示
コマンド例
kubectl config current-context
【4】データを削除するkubectl configコマンド
1)kubectl config delete-cluster
* kubeconfigファイル内から特定のクラスタ情報を削除
コマンド例
# kubectl config view で、指定する<ARN>を調べておく kubectl config delete-cluster arn.aws.eks:us-west-2:xxxxxx
2)kubectl config delete-context
* kubeconfigファイル内から特定のコンテキスト情報を削除
コマンド例
# kubectl config view で、指定する<ARN>を調べておく kubectl config delete-context arn.aws.eks:us-west-2:xxxxxx
3)kubectl config delete-user
* kubeconfigファイル内から特定のユーザ情報を削除
コマンド例
# kubectl config view で、指定する<ARN>を調べておく kubectl config delete-user arn.aws.eks:us-west-2:xxxxxx
4)kubectl config unset
Unsets an individual value in a kubeconfig file [訳] kubeconfig ファイル内の独自の値を解除する
https://jamesdefabia.github.io/docs/user-guide/kubectl/kubectl_config_unset/
コマンド例
kubectl config unset current-context
参考文献
[Kubernetes入門] kubectlのアクセス先(コンテキスト)を切り替える方法 | クラウド・AWSのIT技術者向けブログ SKYARCH BROADCASTING
関連記事
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
Kubernetes ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Kubernetes ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/04/013529
Kubernetes ~ 基本編 / minikube ~
https://dk521123.hatenablog.com/entry/2023/05/07/214515
Kubernetes ~ 基本編 / kubectlコマンド ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555
Kubernetes ~ Kubernetes Dashboard ~
https://dk521123.hatenablog.com/entry/2023/05/27/144144
Amazon EKS ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/02/23/000000
Amazon EKS ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/10/220241
学習用クラウドサービス ~ katacoda ~
https://dk521123.hatenablog.com/entry/2021/07/15/211044