はじめに
以下記事でDockerDesktopをインストールした環境にて
Kubernetesクラスタの設定を確認するkubectl config view
について使い方を簡単に説明します。
環境情報
- Windows 10 Enterprise
- Docker Desktop 2.2.0
Kubernetesのマスターノード
例えばDockerDesktopでは以下のようにクラスター情報の動作状況が確認でき
> kubectl cluster-info Kubernetes master is running at https://kubernetes.docker.internal:6443 KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
以下で現在のクラスター名が確認できます。
> kubectl config current-context docker-desktop
そんなマスターノードの設定を確認するのが表題のコマンドです。
kubeconfigを表示する
公式ドキュメントにも以下のように記載されている通り
kubectl config view :
Displays merged kubeconfig settings or a specified kubeconfig file.
コマンドを打てば以下のようにyaml形式で設定が表示されます。(kubeconfigは複数のコンフィグファイルをマージも可能)
> kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://kubernetes.docker.internal:6443 name: docker-desktop contexts: - context: cluster: docker-desktop user: docker-desktop name: docker-desktop - context: cluster: docker-desktop user: docker-desktop name: docker-for-desktop current-context: docker-desktop kind: Config preferences: {} users: - name: docker-desktop user: client-certificate-data: REDACTED client-key-data: REDACTED
ちなみにjson形式で出したければ以下
> kubectl config view -o=json
本題ですが、config viewコマンドで参照しているファイルの実体はホームディレクトリ以下にある.kube/configにあります。
よって該当のファイルの名前を変えれば同コマンドも反応しなくなります。
> kubectl config view apiVersion: v1 clusters: [] contexts: [] current-context: "" kind: Config preferences: {} users: []
終わりに
例えばクラウドシステムにてk8sクラスターをgcloud container clusters create $clustername
のように作成した場合、同ファイルの存在を確認として参照します。ただ、minikubeやDockerDesktopといったツールをインストールすると自動的に設定されるので意識することが少ないですが、複数のconfigを使い分ける際にはファイルの実体を編集する必要があるので覚えておけばどこかで役立つと思います。