Cài đặt Kubernetes dashboard

Tác giả: 20/11/2024

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 đễ deploy
  • Create 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