Kubernetesお勉強その6【環境構築】WebUIでPodとかのステータス見てみる
おおよそ過去5回分でひとまずはKubernetesを動かせる環境は準備できたんだけれども。監視とかするのにGUIないとつらいよなぁと思って探しているとDashbordなるものがある様です。早速インストールして動かしてみました。ちなみにDashbordからPODに接続できてコマンド叩けたり、ログの内容見れたりとっ便利だったり。そのほかも色々とできるみたい。
よそ様のサイトの方が充実しているのでそっち見たほうがいいし、ほぼコピペですが一応まとめておきました。
◆手順
1.事前準備(クラスター3台分のFireWallのポートオープン)
$ sudo ufw allow from 192.168.0.0/24 to any port 32001 $ sudo ufw allow from 192.168.0.0/24 to any port 8443 $ sudo ufw allow from 192.168.0.0/24 to any port 8000
2.設定作業
・設定ファイル読込
# インストール $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml namespace/kubernetes-dashboard created ~中略~ deployment.apps/dashboard-metrics-scraper created $ kubectl get svc -n kubernetes-dashboard NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-metrics-scraper ClusterIP 10.XXX.XX.XX8000/TCP 14m kubernetes-dashboard ClusterIP 10.XXX.XX.XX 443/TCP 14m # ノードポートに接続するように変更 $ kubectl -n kubernetes-dashboard edit service kubernetes-dashboard service/kubernetes-dashboard edited ----------------------------- ~中略~ ports: - port: 443 protocol: TCP targetPort: 8443 nodePort: 32001 #追加 ~中略~ # type: ClusterIP type: NodePort #NodePortに変更 # viみたいな形で動かせた。変更した後[Esc]+「:+w」で上書き保存が必要 -----------------------------
・トークンの準備
# ユーザ作成
$ mkdir webui
$ cat << EOF > webui/dashboard-adminuser.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
$ kubectl apply -f webui/dashboard-adminuser.yaml
# ロール追加
$ cat << EOF > webui/dashboard-admin-role.yaml
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
EOF
$ kubectl apply -f webui/webui/dashboard-admin-role.yaml
# トークン発行
$ 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}}"
#ノードのIP確認
$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
kube-srv1.yourdomain Ready control-plane,master 2d v1.23.3 192.168.0.21 Ubuntu 20.04.3 LTS 5.4.0-99-generic cri-o://1.22.1
kube-srv2.yourdomain Ready control-plane,master 2d v1.23.3 192.168.0.22 Ubuntu 20.04.3 LTS 5.4.0-99-generic cri-o://1.22.1
kube-srv3.yourdomain Ready control-plane,master 2d v1.23.3 192.168.0.23 Ubuntu 20.04.3 LTS 5.4.0-99-generic cri-o://1.22.1
・確認方法
1号機のノードであるhttp://192.168.0.21:32001にアクセスし、トークン発行で出力されたトークンを貼り付けしてログインする。
※ブラウザ立ち上げなおすたびにトークン入力が必要な模様
画面が表示されれば成功(ダークモードに変更できたりするので変更後のキャプチャ)
◆参考サイト
https://kubernetes.io/ja/docs/tasks/access-application-cluster/web-ui-dashboard/
https://qiita.com/yasubehe/items/838832fe488b72fcc887
https://qiita.com/bindingpry/items/737e5779f68e8302bc55
https://www.n-novice.com/entry/2018/03/11/172859
https://www.server-world.info/query?os=Ubuntu_20.04&p=kubernetes&f=11
コメント