0. 背景

以前KubernetesのKubectlを代替するツールであるkuiを触ってみた。 その関連ツールであるDashboardも触ってみたいと思ったので、本記事にまとめる。

1. 動作環境

  • M1 Macbook AirのDocker Desktop

2. Dashboardをデプロイする

早速使ってみる

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yamlku
  • Podが二つ起動している
>> kubectl get po -n kubernetes-dashboard                                                                                                                                     03/01 8:09:48 <0> 
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-856586f554-rklvj   1/1     Running   0          44s
kubernetes-dashboard-7979bc45d5-tx7hb        1/1     Running   0          44s

3.Dashboardアクセス用のService Accountの作成

Serivce account用のyamlを作成する

>> cat temp.yaml                                                                                                                           03/01 8:38:37 <0>
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
  • 上記のyamlファイルをapplyする
kubectl apply -f temp.yaml
  • secretのtokenを取得する。下記のコマンドで表示されるtokenをメモしておく
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"

4. DashboardのUIを閲覧する

>> kubectl proxy                                                                        
Starting to serve on 127.0.0.1:8001

その後、http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/にアクセスする

dashboard_ui

先程のトークンを入力する

dashboard_success

アクセスできた。

5. 最後に

GUIからpodのシェル実行やデプロイメントのスケールなどもできるようだ。今度試してみよう

. 参考にしたサイト