部署 K8s 图形化管理工具 Dashboard

一、Dashboard 概述

Kubernetes Dashboard是一个Web UI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。

二、GitHub 地址

dashboard

三、Dashboard 部署安装

1、选择兼容版本

由于之前升级 k8s 集群至 1.23.16 所以这里选择 Dashboard v2.5.1

image-20240817165455964

2、下载配置文件

进入到master节点,下载dashboard对应版本的 recommended.yaml 文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml

image-20240817165939384

3、添加 Dashboard 的Service类型

指定 Service 的类型为 NodePort

指定 NodePort Service 在每个节点上使用的端口号 (30000-32767 )

vim recommended.yaml

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  type: NodePort	#添加
  ports:
    - port: 8000
      targetPort: 8000
      nodePort: 32111	#添加
  selector:
    k8s-app: dashboard-metrics-scraper

image-20240817170554312

4、应用部署

kubectl apply -f recommended.yaml

image-20240817171405532

5、查看 kubernetes-dashboard 命名空间下资源状态

kubectl get pods,svc -n kubernetes-dashboard

image-20240817180919182

6、创建访问账户

1.24 版本前的操作

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

image-20240817181228567

7、授权

kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

8、获取账号token

获取 token 登录Dashboard

kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin

kubectl describe secrets dashboard-admin-token-qfz2z -n kubernetes-dashboard

image-20240817181741324

9、1.24 版本以后的需要创建一个Pod

cat << EOF > pod1.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: pod1
  name: pod1
  namespace: kubernetes-dashboard
spec:
  terminationGracePeriodSeconds: 0
  serviceAccount: dashboard-admin
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: pod1
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}
EOF
kubectl apply -f pod1.yaml

kubectl exec -it pod1 -n kubernetes-dashboard -- cat /run/secrets/kubernetes.io/serviceaccount/token

image-20240817182111011

四、浏览器访问Dashboard

遇到显示 Your connection is not private 在页面空白处英文输入法输入

thisisunsafe

1、输入 token 登录

image-20240817194348050

2、页面

image-20240817201122792

posted @ 2024-08-17 20:22  misakivv  阅读(24)  评论(0编辑  收藏  举报