Kubernetesの認証情報(Context)
kubeconfig
kubectlが、k8s Masterと通信する際には、接続先サーバのの認証情報を「~/.kube/confg」に記載する必要がある。
kubeconfigで具体的な設定を行う部分は、clusters、users、contextsの三種類あり、配列型で設定する。 clustersには接続先クラスタの情報を、usersには認証情報を定義する。contextsはclusterとuserのペアとnamespaceを指定したものを定義する。
apiVersion: v1
kind: Config
clusters: # 接続先クラスタ情報
- cluster:
certificate-authority: /Users/USER/.minikube/ca.crt
extensions:
- extension:
last-update: Thu, 01 Sep 2022 09:39:29 JST
provider: minikube.sigs.k8s.io
version: v1.26.1
name: cluster_info
server: https://127.0.0.1:55537
name: minikube
users: # 認証情報
- name: minikube
user:
client-certificate: /Users/USER/.minikube/profiles/minikube/client.crt
client-key: /Users/USER/.minikube/profiles/minikube/client.key
contexts: #接続先と認証情報の組み合わせ
- context:
cluster: minikube
extensions:
- extension:
last-update: Thu, 01 Sep 2022 09:39:29 JST
provider: minikube.sigs.k8s.io
version: v1.26.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: docker-desktop
preferences: {}
kubeconfigの操作
contextを切り替えることで複数の環境を複数の権限で扱えるようになる。
contextの一覧表示
$ kubectl config get-contexts
contextの切り替え
$ kubectl config use-context {コンテキスト名}
現在のcontextの表示
$ kubectl config current-context
参考
Tags: