k8s之图形界面DashBoard【九】

文章目录

  • [9. DashBoard](#9. DashBoard)
    • [9.1 部署Dashboard](#9.1 部署Dashboard)
    • [9.2 使用DashBoard](#9.2 使用DashBoard)

镇场



9. DashBoard

之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。

9.1 部署Dashboard

  1. 下载yaml,并运行Dashboard
shell 复制代码
# 下载yaml
[root@k8s-master ~]# mkdir dashboard
[root@k8s-master ~]# cd dashboard/
[root@k8s-master dashboard]# ls
[root@k8s-master dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
[root@k8s-master dashboard]# ls
recommended.yaml

# 修改kubernetes-dashboard的Service类型
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort  # 新增
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30009  # 新增
  selector:
    k8s-app: kubernetes-dashboard

# 部署
[root@k8s-master dashboard]# pwd
/root/dashboard
[root@k8s-master dashboard]# kubectl apply -f recommended.yaml 
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

[root@k8s-master ~]# kubectl get ns
NAME                   STATUS   AGE
default                Active   27d
kube-flannel           Active   27d
kube-node-lease        Active   27d
kube-public            Active   27d
kube-system            Active   27d
kubernetes-dashboard   Active   53s  # 创建了namespace

# 查看namespace下的kubernetes-dashboard下的资源
[root@k8s-master ~]# kubectl get pod,svc -n kubernetes-dashboard
NAME                                             READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-5657497c4c-srlqd   1/1     Running   0          83s
pod/kubernetes-dashboard-78f87ddfc-mmxpt         1/1     Running   0          83s

NAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.110.144.31   <none>        8000/TCP        83s
service/kubernetes-dashboard        NodePort    10.106.32.91    <none>        443:30009/TCP   83s

2)创建访问账户,获取token

shell 复制代码
[root@k8s-master ~]# cd dashboard/
[root@k8s-master dashboard]# vi serviceaccount-admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user       # 创建账号
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding   # 授权
metadata:
  name: admin-user   
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
[root@k8s-master dashboard]# kubectl apply -f serviceaccount-admin-user.yaml 
serviceaccount/admin-user created
clusterrolebinding.rbac.authorization.k8s.io/admin-user created


# 获取账号token
[root@k8s-master dashboard]# kubectl -n kubernetes-dashboard create token admin-user
eyJhbGciOiJSUzI1NiIsImtpZCI6IjJ2OGY3aGtNYkR0ZEZBZi1PZHBpNTU0TUF4TXV6RW5CanE4U3RUa2xYNjgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzA0Njg3ODAyLCJpYXQiOjE3MDQ2ODQyMDIsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiNDY4YWE0OGEtZmI3NC00MGE5LWI3YTAtM2I2ZTIyNDJhZGUwIn19LCJuYmYiOjE3MDQ2ODQyMDIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.Va4LcUxpaLMKzS_ItOqrHjnEin8iu0q1vGY831StGXmDCM-MuF4YBt2V1dpSitkbLSUsYZNVzpvCLmIgdPstBdPV7jW0VMwffwIsPI_8MVuUc6vnJP2_soqMyS_ZxVkb3gogSGAL6QzAcbPpXirIbHHtLutQnLSfXOa9j_Lpu85ANJFXEFV0kwSLI_DC9dlYu8-pQmPC8e706kjUGfVDnHGg-KmnvV9cuNHxFoe06uUd9IcSJdGIKpx7wZu--O0IAQ6Cq_MRS8enYf6jN83OJ2xiD33KZQ9YCrpUCQFNMGX7diK4Wbx5s1aFZiPSs8hfeDXMzRT24jQYyp6FTzYgMw
[root@k8s-master dashboard]# 

3)通过浏览器访问Dashboard的UI

在登录页面上输入上面的token

出现下面的页面代表成功

9.2 使用DashBoard

本章节以Deployment为例演示DashBoard的使用

查看

选择指定的命名空间dev,然后点击Deployments,查看dev空间下的所有deployment

扩缩容

Deployment上点击规模,然后指定目标副本数量,点击确定

编辑

Deployment上点击编辑,然后修改yaml文件,点击确定

查看Pod

点击Pods, 查看pods列表

操作Pod

选中某个Pod,可以对其执行日志(logs)、进入执行(exec)、编辑、删除操作

Dashboard提供了kubectl的绝大部分功能,这里不再 一 一 演示

相关推荐
@土豆4 分钟前
k8s集群资源优化(解决节点资源溢出导致的异常问题)
docker·kubernetes
丶伯爵式1 小时前
Docker 国内镜像加速 | 2026年3月26日可用
运维·docker·容器·镜像加速·国内镜像加速
程序员阿伦13 小时前
璋㈤鏈虹殑Java澶у巶闈㈣瘯璁帮細浠嶴pring Boot鍒癒ubernetes锛�3杞湡棰樺叏瑙f瀽锛�
spring boot·redis·kubernetes·aigc·java闈㈣瘯·寰湇鍔�·鐢靛晢绉掓潃
狼与自由13 小时前
K8S的架构
容器·架构·kubernetes
xin_yao_xin14 小时前
Windows 下 Docker Desktop 安装教程及常用命令(2026 最新)
运维·docker·容器
普通网友16 小时前
《K8s 滚动更新与回滚:详细教程》
docker·容器·kubernetes
LDG_AGI16 小时前
【人工智能】OpenClaw(一):MacOS极简安装OpenClaw之Docker版
运维·人工智能·深度学习·机器学习·docker·容器·推荐算法
朱包林16 小时前
k8s-Pod基础管理,标签管理,rc控制器及重启策略实战
linux·运维·云原生·容器·kubernetes·云计算
returnthem16 小时前
最新版 Kubernetes 集群搭建教程(kubeadm 方式)
云原生·容器·kubernetes
Monster丶62616 小时前
Docker 部署 Ollama 全流程指南:支持 CPU/GPU、生产环境可用的工程化实践
运维·人工智能·docker·容器