部署 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、页面

相关推荐
没有bug.的程序员23 分钟前
电商系统分布式架构实战:从单体到微服务的演进之路
java·分布式·微服务·云原生·架构·监控体系·指标采集
重生之我要当java大帝24 分钟前
java微服务-尚医通-数据字典-5
vue.js·微服务·云原生·架构
励志不掉头发的内向程序员26 分钟前
【Linux系列】掌控 Linux 的脉搏:深入理解进程控制
linux·运维·服务器·开发语言·学习
小屁不止是运维28 分钟前
k8s问题详解1:k8s集群上传文件过大导致413 Request Entity Too Large(请求文件实体过大)
docker·容器·kubernetes
東雪蓮☆30 分钟前
K8s Ingress 详解与部署实战
linux·运维·kubernetes
塔能物联运维37 分钟前
物联网运维中的边缘计算任务调度优化策略
运维·人工智能·物联网·边缘计算
真正的醒悟1 小时前
什么是网络割接
运维·服务器·网络
Bruce_Liuxiaowei1 小时前
Win7虚拟机加入域错误排查指南:解决无法启动服务问题
运维·网络·windows·安全·网络安全
聆风吟º1 小时前
无需 VNC / 公网 IP!用 Docker-Webtop+cpolar,在手机浏览器远程操控 Linux
linux·运维·docker
骇客野人1 小时前
【软考备考】 高并发场景如何做负载均衡知识点四
运维·负载均衡