Cài đặt Kubernetes dashboard
Deploy the Kubernetes dashboard
Chạy lệnh sau:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
Nếu chạy thành công thì terminal sẽ hiện ra thông tin như bên dưới
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
Cấp quyền quản lý Dashboard
Kubernetes là một web app dùng để quản lý giám sát cluster, để đăng nhập vào được giao diện quản lý thì mình sẽ sử dụng Nodeport service để cho phép truy cập vào web app tại địa chỉ:https://<k8s-master-ip>:<nodeport>
Đồng thời tạo ServiceAccount tên admin-user để cấp quyền quản lý Dashboard:
Download file kubernetes-dashboard-service-np.yaml từ link: kubernetes-dashboard-service-np.yaml
Chúng ta deploy NodePort:
kubectl apply -f kubernetes-dashboard-service-np.yaml
Đễ nhận được port được gán cho dashboard:
kubectl get service kubernetes-dashboard -n kubernetes-dashboard
Tiếp theo tạo token cho admin-user:
kubectl -n kubernetes-dashboard create token admin-user --duration=720h
Token sẽ có dạng:
eyJhbGciOiJSUzI1NiIsImtpZCI6IklQWDBTOUhCZk5LcXhiTzNaNkt3eFVzNDVaZmJza0tnRXZBdGRCdWZ5MjgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjc5OTM4NTgwLCJpYXQiOjE2Nzk5MzQ5ODAsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiYjUwY2EwZjItYmUwZS00YTlhLWEyZmQtMjQzMzRkYzgxZDc4In19LCJuYmYiOjE2Nzk5MzQ5ODAsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.D1HhrSeurT8exw0ds12R_rqqFaeJG4F021jdxz8ETN8wWWBze44weWD6rSBmsTP7RJ_CHZF88lFsnqJnVcTvETiyltQa3CV2ffYdnS9A5MI-6uZNks33E2FM3KCWk-u7egVUMErCDaV5awTWx3O0xPCXIc3OD-gXKvl_UZM4B1GQUlvZS65EqdE4gYIGfqPJhTodq6GpsmWvtv3gzZZWqk-SMRzDNkAGoqXJzQjP0Rlomh9nn0rFj6hGph8gzaOFydEs9WkK-pd59VTvgxXm-GTAhP44BNDV84TjqNgtCBwhCjuWNhfr8uSkybEcukc1UIhi-IeICxFj0LE087KGkA
Login giao diện dashboard theo link cấu trúc sau:
Link sẽ có dạng https://<IP master>:<Nodeport-31000>
ví dụ ở đây vào link: https://10.0.0.10:31000
Nhập mã token ở trên đễ đăng nhập vào giao diện web của kubernetes.
Một số tính năng của Dashboard mặc định của K8s
1. Triển khai service trên giao diện dashboard
Create from input
: nhập nội dung file cấu hình .yaml hoặc Json
Create from file
: upload file .yaml đễ deployCreate from form
: Tạo service từ form mẫu có sẳn , chỉ điền các thông số.
2. Deployments
Tại mục này ta có thể thao tác:
Scale
: tăng số lượng pod
Edit
: Edit các thông số trong pod
Restart
: Khởi động lại deployment
Delete
: Delete deployment, các pod sẽ bị xóa trong này
3. Pods
Tại mục Pods ta cũng có 4 thao tác:
Logs
: có thể kiểm tra log pod hoạt động
Exec
: truy cập vào giao diện commandline của pod đễ thao tác
Edit
: có thể chỉnh sửa thông số pod
Delete
: thao tác delete pod trong này (chỉ thao ta1cco1 hiệu lực khi pod không sử dụng replicas)
4. Services
Tại đây ta có 2 thao tác:
Edit
: Chỉnh sửa thông số port, nodeport,..Delete
: xóa port đang gán cho service