Kubernetesのkubctlのコンテキスト切り替え、コンフィグのマージ

kubctlコマンドの対象を切り替える。
AKS, EKS, GKS, IKS, ローカル(minikube, Docker for Mac)を簡単に切り替えられるようにしたい。



コロンでファイルパスをつなげることで環境変数のマージが可能。
以下の例はIKSとDocker for Mac.
export KUBECONFIG=/Users/shinichiyamada/.bluemix/plugins/container-service/clusters/mycluster/kube-config-xxxxx-mycluster.yml:~/.kube/config

設定の確認
kubectl config view

MacBook-Pro:xxxx xxxxx$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    insecure-skip-tls-verify: true
    server: https://localhost:6443
  name: docker-for-desktop-cluster
- cluster:
    certificate-authority: ca-mil01-mycluster.pem
    server: https://c6.mil01.containers.cloud.ibm.com:30678
  name: mycluster
contexts:
- context:
    cluster: docker-for-desktop-cluster
    user: docker-for-desktop
  name: docker-for-desktop
- context:
    cluster: mycluster
    namespace: default
    user: xxxxx@xxxxxx.co.jp
  name: mycluster
current-context: mycluster
kind: Config
preferences: {}
users:
- name: docker-for-desktop
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

contexts:-context:cluster が切り替えられる対象になる。

IKSへ切り替え
kubectl config use-context mycluster

ローカル(Docker for Mac)に切り替え
kubectl config use-context docker-for-desktop

クラスタ情報確認

kubectl cluster-info

MacBook-Pro:xxxx xxxx$ kubectl cluster-info
Kubernetes master is running at https://localhost:6443
KubeDNS is running at https://localhost:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy


参考



https://qiita.com/TsuyoshiUshio@github/items/e1c4eca7e601bbeec088

2019年4月2日火曜日