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/
にアクセスする
先程のトークンを入力する
アクセスできた。
5. 最後に
GUIからpodのシェル実行やデプロイメントのスケールなどもできるようだ。今度試してみよう