(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Kubernetes入門】kubectl config viewで参照しているファイル

スポンサーリンク

はじめに

以下記事で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を使い分ける際にはファイルの実体を編集する必要があるので覚えておけばどこかで役立つと思います。