この記事はなむゆの個人ブログとのマルチポストです。
【小ネタ】k8sのLens使ってみたらちょっと詰まったので解決してきたメモ - nam_yu_sqlのブログ (hatenablog.com)
こんにちは、コンテナが立つと初めてわが子が立ったように喜ぶなむゆです。
去年、「k8sのIDE、Lensが便利な件について」という記事を見て、あぁ~kubernetes周りのツールについても知りたいな~Lens使ってみよっかなと思い立ちました。
それで実際に使ってみたのですが、Lensで接続するクラスターを指定するのに必要なkubeconfig周りで若干詰まって、それを解決してきたので今回はそのネタで一席打ちます。
kubeconfigとは
kubeconfigとはkubernetesのクラスターに接続するのに使う接続文字列のようなもので、「接続先のクラスターのurlはここよ~」とか「接続するときはこの認証情報を使うんよ~」といった情報が記されています。
kubernetesに接続する際にはこのファイルを使って接続を行うため、Lensのようなツールでも接続文字列として使用しているわけです。
デフォルトでは[ホームディレクトリ]/.kube/configのパスに存在するほか、「KUBECONFIG」の環境変数で指定されたパスや「--kubeconfig」のパラメータで指定したパスに存在するファイルをkubeconfigファイルとして使用できます。
詳しくはこちら。
起きたこと
Azure上に「namuyutest01」という名前でAKSのリソースを作成し、ローカルでaz login を行ってクレデンシャルを取得しました。
Lensを起動すると接続先のkubeconfigファイルを求められたので現在使用しているkubeconfigを表示するコマンドのkubectl config viewコマンドを使用してkubeconfigを表示しました。だいたいこんな感じです。

「REDACTED」って何なの・・・と思いつつこれをコピーしてLensに張り付け、接続してみたらエラーが発生しました。

というかLens、goのコードで動いてるのですね・・・
等と妙に感心しました。

解決方法
結論から言いますと、kubectl config view --raw コマンドを使ってちゃんと生のkubeconfigを取得しましょうねということでした。kubectl config view のコマンドだとあまりにも文字数の多いトークンなどの情報が「REDACTED」として省略されていたのですね。
生のkubeconfigを取得してLensに張り付けて接続すると・・・

やった~~~~~~~~~!
教訓
正直自分はkubernetesをAKSでしか使用していなかったので、kubeconfigファイルについて「あーget-credentialで取得できるやつ」程度の認識でいました。
実際にはその中身にはちゃんと意味があるので、中身に何が書かれているかはちゃんと把握しておくべきです!
ということでLensを使う時に遭遇したエラーを解決したお話でした。
よっしゃこれでLens使えるぞー!
業務で役立つことは間違いないので、ぜひ使ってみましょう。







![Microsoft Power BI [実践] 入門 ―― BI初心者でもすぐできる! リアルタイム分析・可視化の手引きとリファレンス](/assets/img/banner-power-bi.c9bd875.png)
![Microsoft Power Apps ローコード開発[実践]入門――ノンプログラマーにやさしいアプリ開発の手引きとリファレンス](/assets/img/banner-powerplatform-2.213ebee.png)
![Microsoft PowerPlatformローコード開発[活用]入門 ――現場で使える業務アプリのレシピ集](/assets/img/banner-powerplatform-1.a01c0c2.png)


