Hướng dẫn cài Kubernetes Dashboard v2.0.0+0.g1f66b1c trên Kubernetes Centos8
Ok, như bài trước đây có nói về cách cài đặt Kubernetes trên Centos8, quá trình cài đặt thì cũng đã hoàn tất ở phần này Hướng dẫn cài Kubernetes V1.21 với container runtime Cri-O . Như phần trước thì có nói cách cài Kubernetes Dashboard đơn giản thì bài này sẽ nói nhanh về phần này.
Thực sự đối với Kubernetes Dashboard này thì nó khá hữu ích, dùng để kiểm tra thông số này kia, viết file YAML hoặc json sẵn trực tiếp lên và chạy cũng tốt, riêng cá nhân mình chỉ dùng nó để check xem thồn tin , thông số bla bla thôi còn chính sẽ dùng CLI là chính .
Thực hiện vài bước như sau:
[root@kubemaster ~]#kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
Tại sao dùng link trên, đơn giản vì chính chủ nó recommended như vậy, nó hỗ trợ tận răng rồi nên dùng sẽ tốt hơn, có thể tự viết lại và lấy vài thuộc tính phù hợp với nhu nếu muốn dùng.
Ok, khá là nhanh như vậy đợi xíu là coi như nó cài xong rồi đây, đơn giản vậy thôi. Giờ có câu hỏi như thế này, cài xong thì sao vô được để xem, mình cần tạo user để vào, nó như sau.
Khi tạo user access vào Dashboard thì ta tham khảo các kind từ file recommended.yaml ở trên để có các lựa chọn phù hợp.
[root@kubemaster01 dashboard]# vi kubernetes-dashboard-loc-pham.yaml
[root@kubemaster01 dashboard]# cat kubernetes-dashboard-loc-pham.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user-loc-pham
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user-loc-pham
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user-loc-pham
namespace: kubernetes-dashboard
[root@kubemaster01 dashboard]#
[root@kubemaster01 dashboard]# kubectl apply -f kubernetes-dashboard-loc-pham.yaml
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-loc-pham | awk '{print $1}')
Vậy xem như là xong rồi đó, chạy kubectl proxy nó trả ra port 8001 default là nhập token vào chạy thôi.
Như trên nếu server master của bạn có Gui đăng nhập, như server trên màn hình đen thui thì sao, thật sự có khá nhiều cách để public dashboard này ra ngoài và dùng được token, chăng hạn như là dùng ssl https vẫn được.
Phần demo này làm nhanh bằng cách chơi chiêu "Ve sầu thoát xác" theo phong cách chém gió trà đá, còn gọi chính quy là SSH Tunneling (Port Forwarding), vì làm vậy cho nó nhanh mau lẹ, đảm bảo vẫn dùng ok :)
http://localhost:3000/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
Tùy theo nhu cầu user phân quyền như thế nào thì cú áp vào mà dùng.
Cuối cùng Bonus thêm cách config completion để gợi ý nhắc kubeclt để thực hiện cho nhanh.