♨️

Kubernetes 公式の管理ツール Dashboard を使おう!

2024/07/16に公開

Kubernetes は公式の管理ツールがあります。いわゆる Kubernetes Dashboard というやつです。

しかしこちらのツール、使えるようになるまでにいろいろ四苦八苦することになりました……
今回はそのことについて書いておこうと思います。

まずググってインストール方法を調べてみよう!

「kubernetes dashboard」でググると、まず下記のページが見つかると思います。
https://kubernetes.io/ja/docs/tasks/access-application-cluster/web-ui-dashboard/
しかしここ、注意書きにもあるように情報が非常に古いです……華麗にスルーしてリンク先の英語版を参照しましょう。

インストールには、英語版に記載のあるようにHelmを使います。
決して日本語版にあるマニフェストを使ってはいけません……

# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

とりあえずこれでインストールはできました。

ではアクセスしてみましょう!

Kubernetes Dashboard のインストールを済ませて、ingressの設定を……って、どのサービスを ingress に紐づけたらいいんだ?

……いろいろ調べました。どうやら、

kubernetes-dashboard   service/kubernetes-dashboard-kong-proxy   ClusterIP      10.98.131.231   <none>   80/TCP,443/TCP   41h

こいつらしい。80と443をListenしてますからね。

あと、管理画面だし basic 認証を入れておくか、とbasic 認証の設定を入れて、いざ開いてみると、なにやらトークンを入れろという画面が……

とりあえず説明書きになんかあるけど、サービスアカウントって何?

……どうもそのあたりの説明は、下記に書いてあるらしい。
Creating sample user
さらっと流してたら見つけられないねこれ……

で、トークンを入れて、いざアクセス!
……と思ったら401エラーが発生しまくりでアクセスできず……

なんでだろう、と通信内容を解析してみたら、どうも basic 認証で使ってる authentication HTTPヘッダーを、トークン認証で上書きしてしまうらしい。

しかたなく basic 認証を外して、トークンを入力したら、アクセスできた!

と、いろいろトラップのあるインストール作業でした……

さいごに

Kubernetes って、進化が速くてドキュメントの更新が追い付いてないみたいですよね。
情報が新旧混じってて、どれを信じたらいいかわからない……おかげで辛い思いをすることが多いです。
たぶん Kubernetes の参入障壁の一つですねきっとw

Discussion