CentOS Stream 10
Sponsored Link

Kubernetes : ダッシュボードを有効にする2025/01/24

 

ダッシュボードを有効にして、Web UI で Kubernetes クラスターの管理ができるようにします。

当例では以下のように 4 台のノードを使用して Kubernetes クラスターを構成しています。

+----------------------+   +----------------------+
|  [ ctrl.srv.world ]  |   |   [ dlp.srv.world ]  |
|     Manager Node     |   |     Control Plane    |
+-----------+----------+   +-----------+----------+
        eth0|10.0.0.25             eth0|10.0.0.30
            |                          |
------------+--------------------------+-----------
            |                          |
        eth0|10.0.0.51             eth0|10.0.0.52
+-----------+----------+   +-----------+----------+
| [ node01.srv.world ] |   | [ node02.srv.world ] |
|     Worker Node#1    |   |     Worker Node#2    |
+----------------------+   +----------------------+

[1]

Manager ノードを除く全ノードで、Firewalld 稼働中の場合は停止します。
(CRI-O + Calico の環境では Firewalld が稼働していると正常動作しない)

[2]

こちらを参考に Helm をインストールしておきます

[3] ダッシュボードを有効にします。
[cent@ctrl ~]$
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/

"kubernetes-dashboard" has been added to your repositories
[cent@ctrl ~]$
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

NAME: kubernetes-dashboard
LAST DEPLOYED: Thu Jan 23 16:06:49 2025
NAMESPACE: kubernetes-dashboard
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
*************************************************************************************************
*** PLEASE BE PATIENT: Kubernetes Dashboard may need a few minutes to get up and become ready ***
*************************************************************************************************

Congratulations! You have just installed Kubernetes Dashboard in your cluster.

To access Dashboard run:
  kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443

NOTE: In case port-forward command does not work, make sure that kong service name is correct.
      Check the services in Kubernetes Dashboard namespace using:
        kubectl -n kubernetes-dashboard get svc

Dashboard will be available at:
  https://localhost:8443

[cent@ctrl ~]$
kubectl get pods -n kubernetes-dashboard

NAME                                                   READY   STATUS    RESTARTS   AGE
kubernetes-dashboard-api-7d7d4bd7f9-dhhj6              1/1     Running   0          46s
kubernetes-dashboard-auth-7d7668b79c-4smlb             1/1     Running   0          46s
kubernetes-dashboard-kong-678c76c548-5vzdm             1/1     Running   0          46s
kubernetes-dashboard-metrics-scraper-879878d85-w9nb6   1/1     Running   0          46s
kubernetes-dashboard-web-678b46855b-ncx7j              1/1     Running   0          46s
[4] ダッシュボード用のサービスアカウントを追加して、ダッシュボードにアクセスできるように設定します。
[cent@ctrl ~]$
kubectl create serviceaccount -n kubernetes-dashboard dashboard-admin

serviceaccount/dashboard-admin created
[cent@ctrl ~]$
vi rbac.yml
# 新規作成

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: dashboard-admin
  namespace: kubernetes-dashboard

[cent@ctrl ~]$
kubectl apply -f rbac.yml

clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
# 追加したアカウントのセキュリティトークン取得

[cent@ctrl ~]$
kubectl -n kubernetes-dashboard create token dashboard-admin

eyJhbGciOiJSUzI1NiIsI.....

# ダッシュボードアクセス用にポートフォワードをセット

[cent@ctrl ~]$
kubectl port-forward -n kubernetes-dashboard svc/kubernetes-dashboard-kong-proxy --address 0.0.0.0 8443:443

Forwarding from 0.0.0.0:8443 -> 8443
[5]
ローカルネットワーク内の任意のコンピューターで Web ブラウザーを起動して、以下の URL にアクセスします。
⇒ https://(Control Plane ノードのホスト名 または IP アドレス):(設定したポート)/
アクセス後、以下のような画面が表示されたら、[2] で取得したセキュリティトークンを コピー & ペーストして [Sing In] ボタンをクリックします。
[6] 認証が成功すると Kubernetes クラスターのダッシュボードが表示されます。
関連コンテンツ