部署 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

2、下载配置文件

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

bash 复制代码
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml

3、添加 Dashboard 的Service类型

指定 Service 的类型为 NodePort

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

bash 复制代码
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

4、应用部署

bash 复制代码
kubectl apply -f recommended.yaml

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

bash 复制代码
kubectl get pods,svc -n kubernetes-dashboard

6、创建访问账户

1.24 版本前的操作

bash 复制代码
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

7、授权

bash 复制代码
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

8、获取账号token

获取 token 登录Dashboard

bash 复制代码
kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin

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

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

yaml 复制代码
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
bash 复制代码
kubectl apply -f pod1.yaml

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

四、浏览器访问Dashboard

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

thisisunsafe

1、输入 token 登录

2、页面

相关推荐
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410831 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.1 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
芯盾时代2 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方3 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘3 小时前
NFS服务器
运维·服务器
南猿北者4 小时前
docker容器
docker·容器
苹果醋34 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰4 小时前
[linux]docker基础
linux·运维·docker
Jason-河山4 小时前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化