官方 Dashboard 还是 Kuboard?Kubernetes 可视化管理工具深度对比

官方 Dashboard 还是 Kuboard?Kubernetes 可视化管理工具深度对比

  • [Kubernetes 集群 Dashboard](#Kubernetes 集群 Dashboard)

Kubernetes 集群 Dashboard

摘要 :本文详细介绍了两种主流的Kubernetes集群Dashboard管理工具。Kuboard 是一款功能丰富的第三方管理界面,支持多集群管理、多种认证方式、微服务分层展示、图形化工作负载编辑等高级功能,适合企业级生产环境使用。Kubernetes Dashboard是Kubernetes官方提供的Web UI,具备基础的集群管理功能,包括部署应用、诊断问题、管理资源等。文章分别从特点、版本、安装配置、访问方式等方面对两款工具进行了全面对比和实操演示,帮助读者根据实际需求选择合适的Dashboard工具。

kuboard

kuboard 介绍

Kuboard 是一款专为 Kubernetes 设计的免费管理界面,兼容 Kubernetes 版本 1.13 及以上。Kuboard 每周发布一个 beta 版本,最长每月发布一个正式版本,经过两年的不断迭代和优化,已经具备多集群管理、权限管理、监控套件、日志套件等丰富的功能,并且有 1000+ 的企业将 Kuboard 应用于其生产环境。Kuboard 自 2019年8月发布第一个版本以来,得到了众多用户的认可,目前已经获得了 10000+ GitHub Star。

Kuboard 的定位和 Dashboard 是相似的,主要的区别 在于:

  • Kuboard 关注微服务参考架构的视角对界面进行组织,参考 Kuboard 简介
  • Kuboard 中,不需要手工编写 YAML 文件,进一步降低 K8S 使用难度,提高便捷性。
  • Kuboard 可以导出整个微服务架构的部署信息,并在新的名称空间/集群导入配置信息。
  • Kuboard 的一个发展方向是,提供内建的 监控套件(目前的全局监控套件成熟度比较高)。

kuboard 特点

相较于 Kubernetes Dashboard 等其他 Kubernetes 管理界面,Kuboard 的主要特点有:

  • 多种认证方式:Kuboard 可以使用内建用户库、gitlab / github 单点登录或者 LDAP 用户库进行认证,避免管理员将 ServiceAccount 的 Token 分发给普通用户而造成的麻烦。使用内建用户库时,管理员可以配置用户的密码策略、密码过期时间等安全设置。

  • 多集群管理:管理员可以将多个 Kubernetes 集群导入到 Kuboard 中,并且通过权限控制,将不同集群/名称空间的权限分配给指定的用户或用户组。

  • 微服务分层展示:在 Kuboard 的名称空间概要页中,以经典的微服务分层方式将工作负载划分到不同的分层,更加直观地展示微服务架构的结构,并且可以为每一个名称空间自定义名称空间布局。

  • 工作负载的直观展示:Kuboard 中将 Deployment 的历史版本、所属的 Pod 列表、Pod 的关联事件、容器信息合理地组织在同一个页面中,可以帮助用户最快速的诊断问题和执行各种相关操作。

  • 工作负载编辑:Kuboard 提供了图形化的工作负载编辑界面,用户无需陷入繁琐的 YAML 文件细节中,即可轻松完成对容器的编排任务。支持的 Kubernetes 对象类型包括:Node、Namespace、Deployment、StatefulSet、DaemonSet、Secret、ConfigMap、Service、Ingress、StorageClass、PersistentVolumeClaim、LimitRange、ResourceQuota、ServiceAccount、Role、RoleBinding、ClusterRole、ClusterRoleBinding、CustomResourceDefinition、CustomResource 等各类常用 Kubernetes 对象,

  • 存储类型支持:在 Kuboard 中,可以方便地对接 NFS、CephFS 等常用存储类型,并且支持对 CephFS 类型的存储卷声明执行扩容和快照操作。

  • 丰富的互操作性 :可以提供许多通常只在 kubectl 命令行界面中才提供的互操作手段,例如:

    • Top Nodes / Top Pods
  • 容器的日志、终端

    • 容器的文件浏览器(支持从容器中下载文件、上传文件到容器)
    • KuboardProxy(在浏览器中就可以提供 kubectl proxy 的功能)
  • 套件扩展:Kuboard 提供了必要的套件库,使得用户可以根据自己的需要扩展集群的管理能力。当前提供的套件有:

    • 资源层监控套件,基于 Prometheus / Grafana 提供 K8S 集群的监控能力,可以监控集群、节点、工作负载、容器组等各个级别对象的 CPU、内存、网络、磁盘等资源的使用情况;
  • 日志聚合套件,基于 Grafana / Loki / Promtail 实现日志聚合;

    • 存储卷浏览器,查看和操作存储卷中的内容;
  • 告警配置:可以通过界面直接配置资源层监控套件发送告警消息:

    • 支持邮件、微信发送告警消息;
  • 支持告警路由配置;

    • 支持告警规则配置等;
  • 操作审计:Kuboard 支持操作审计的功能:

    • 审计用户通过 Kuboard 界面和 Kuboard API 执行的操作;
    • 自定义审计规则;

在线演示

在线演示环境中,您具备 只读 权限,只能体验 Kuboard 的一部分功能。

地址:https://demo.kuboard.cn

用 户:demo

密 码:demo123

kuboard 版本

Kuboard v2.x 版本说明

Kuboard v2.x 支持 Kubernetes 单集群管理。

版本支持:

Kuboard v3.x 版本说明

Kuboard v3.x 支持 Kubernetes 多集群管理。如果您从 Kuboard v1.0.x 或者 Kuboard v2.0.x 升级到 Kuboard,请注意:

  • 您可以同时使用 Kuboard v3.x 和 Kuboard v2.0.x;
  • Kuboard v3.x 支持 amd64 (x86) 架构和 arm68 (armv8) 架构的 CPU;

版本支持:

kuboard 安装和配置

本次实验环境kubernetes版本是1.32.0,使用kuboard v3.x版本。

安装方式
  1. 独立容器 方式运行
  2. 在 Kubernetes 中运行
  3. static pod 方式运行

基于如下原因,建议您以 独立容器 方式 Kuboard:

  • 结构更清晰(Kuboard 作为多个集群的管理界面应该独立于任何集群之外);
  • 登录 Kuboard 时使用不同的认证方式;
  • 问题排查更简单;
独立容器 方式运行
安装计划

在正式安装 kuboard v3 之前,需做好一个简单的部署计划的设计,在本例中,各组件之间的连接方式,如下图所示:

  • 假设用户通过 http://外网IP:80 访问 Kuboard v3;
  • 安装在 Kubernetes 中的 Kuboard Agent 通过 内网IP 访问 Kuboard 的 Web 服务端口 80 和 Kuboard Agent Server 端口 10081。
安装过程
bash 复制代码
# 创建目录
root@master30:~# mkdir /kuboard-data

# 创建容器
root@master30:~# nerdctl run -d --name=kuboard \
-p 80:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://10.1.8.30:80" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /kuboard-data:/data \
eipwork/kuboard:v3

# 10.1.8.30是物理机的ip
卸载
bash 复制代码
root@master30:~# nerdctl container rm kuboard --force
root@master30:~# rm -fr /kuboard-data
static pod 方式运行(自学)
安装
bash 复制代码
# 在master节点上执行
root@master30:~# curl -fsSL https://addons.kuboard.cn/kuboard/kuboard-static-pod.sh -o kuboard.sh
root@master30:~# sh kuboard.sh
current ip address is 10.1.8.30
create file /root/kuboard-sa.yaml

kubectl apply -f /root/kuboard-sa.yaml
namespace/kuboard created
serviceaccount/kuboard-admin created
clusterrolebinding.rbac.authorization.k8s.io/kuboard-admin-crb created
serviceaccount/kuboard-viewer created
clusterrolebinding.rbac.authorization.k8s.io/kuboard-viewer-crb created

create file /etc/kubernetes/manifests/kuboard.yaml

restart kubelet

检查状态 待 kuboard-v3-master30.laoma.cloud 的容器组变为 Running 状态后,则安装成功,可以通过 http://10.1.8.30 访问 kuboard 界面

No resources found in kuboard namespace.

# 验证
root@master30:~# kubectl get all -n kuboard 
NAME                                READY   STATUS    RESTARTS   AGE
pod/kuboard-v3-laoma30.redhat.fun   1/1     Running   0          45s
卸载
bash 复制代码
# 删除静态文件
root@master30:~# rm -f /etc/kubernetes/manifests/kuboard.yaml

# 删除数据目录
root@master30:~# rm -fr /usr/share/kuboard

# 删除命名空间
root@master30:~# kubectl delete ns kuboard
访问过程

在浏览器输入 http://your-host-ip:80 ,访问 Kuboard v3.x 的界面。

登录信息:

  • 用户名: admin
  • 密 码: Kuboard123

添加集群

这里选择:.kubeconfig

导入凭据文件(复制~/.kube/config内容到红色方框中)

导入后效果:

选择访问集群时所使用的身份:使用 ServiceAccount kuboard-admin

参考资料

安装手册:https://kuboard.cn/install/v3/install.html

Kubernetes Dashboard

介绍

项目地址:https://github.com/kubernetes/dashboard/

Kubernetes Dashboard 是 Kubernetes 的官方 Web UI。

Kubernetes Dashboard 具备的功能:

  • 向 Kubernetes 集群部署容器化应用
  • 诊断容器化应用的问题
  • 管理集群的资源
  • 查看集群上所运行的应用程序
  • 创建、修改Kubernetes 上的资源(例如 Deployment、Job、DaemonSet等)
  • 展示集群上发生的错误

例如:您可以伸缩一个 Deployment、执行滚动更新、重启一个 Pod 或部署一个新的应用程序。

部署

bash 复制代码
# 下载资源yaml文件
root@master30:~# wget -O recommended.yaml http://192.168.46.200/class/course-materials/softwares/stage03/kubernetes-dashboard-recommended-v2.6.1.yaml

# 查看images
root@master30:~# grep image: recommended.yaml 
          image: hub.laoma.cloud/kubernetesui/dashboard:v2.6.1
          image: hub.laoma.cloud/kubernetesui/metrics-scraper:v1.0

# 执行部署
root@master30:~# kubectl apply -f recommended.yaml 

验证

bash 复制代码
#kubens 是 kubectx 工具集里的命令  
# 列出所有 namespace
root@master30:~# kubens   
default
kube-node-lease
kube-public
kube-system
kubernetes-dashboard

# 切换到指定 namespace
root@master30:~# kubens kubernetes-dashboard
root@master30:~# kubectl get deployments.apps 
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
dashboard-metrics-scraper   1/1     1            1           2m25s
kubernetes-dashboard        1/1     1            1           2m25s

root@master30:~# kubectl get service
NAME                                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
kubernetes-dashboard-metrics-scraper   ClusterIP   10.98.116.192   <none>        8000/TCP   3m54s
kubernetes-dashboard-web               ClusterIP   10.107.63.216   <none>        8000/TCP   3m54s

root@master30:~# kubectl get serviceaccounts 
NAME                   SECRETS   AGE
default                1         23h
kubernetes-dashboard   1         23h

root@master30:~# kubectl describe serviceaccounts kubernetes-dashboard 
Name:                kubernetes-dashboard
Namespace:           kubernetes-dashboard
Labels:              app.kubernetes.io/part-of=kubernetes-dashboard
Annotations:         <none>
Image pull secrets:  <none>
Mountable secrets:   <none>
Tokens:              <none>
Events:              <none>

# 创建了clusterrolebindings/kubernetes-dashboard
root@master30:~# kubectl get clusterrolebindings.rbac.authorization.k8s.io |grep dashboard
kubernetes-dashboard                                   ClusterRole/kubernetes-dashboard                                                   23h

# sa/kubernetes-dashboard具有ClusterRole/kubernetes-dashboard
root@master30:~# kubectl describe clusterrolebindings.rbac.authorization.k8s.io kubernetes-dashboard
Name:         kubernetes-dashboard
Labels:       <none>
Annotations:  <none>
Role:
  Kind:  ClusterRole
  Name:  kubernetes-dashboard
Subjects:
  Kind            Name                  Namespace
  ----            ----                  ---------
  ServiceAccount  kubernetes-dashboard  kubernetes-dashboard

# ClusterRole/kubernetes-dashboard权限如下:
root@master30:~# kubectl describe clusterroles kubernetes-dashboard
Name:         kubernetes-dashboard
Labels:       k8s-app=kubernetes-dashboard
Annotations:  <none>
PolicyRule:
  Resources             Non-Resource URLs  Resource Names  Verbs
  ---------             -----------------  --------------  -----
  nodes.metrics.k8s.io  []                 []              [get list watch]
  pods.metrics.k8s.io   []                 []              [get list watch]

# deployments.apps/kubernetes-dashboard以sa/kubernetes-dashboard身份运行,所以deployments.apps/kubernetes-dashboard部署的pod只可以查看资源nodes.metrics.k8s.io和pods.metrics.k8s.io
root@master30:~# kubectl get deployments.apps kubernetes-dashboard -o yaml|grep ' serviceAccount'
      serviceAccount: kubernetes-dashboard
      serviceAccountName: kubernetes-dashboard

修改 service/kubernetes-dashboard 类型为 NodePort,从外部访问。

bash 复制代码
root@master30:~# kubectl edit svc kubernetes-dashboard
spec:
......
  type: NodePort

root@master30:~# kubectl get svc kubernetes-dashboard
NAME                   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   10.111.32.116   <none>        443:30518/TCP   4m45s

可选:使用 ingress 配置访问,参考:

yaml 复制代码
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-dashboard
namespace: kubernetes-dashboard
annotations:
# 关键:透传 TLS,Ingress 不解密
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
ingressClassName: nginx
rules:
  - host: dashboard.laoma.cloud
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service: 
            name: kubernetes-dashboard
            port: 
              number: 443

客户端配置dashboard.laoma.cloud域名到ingress服务地址,实验环境是10.1.8.40

后续直接访问https://dashboard.laoma.cloud

访问 Dashboard

访问 https://10.1.8.30:30518

新版本

Kubernetes Dashboard 新版本只支持使用 Bearer Token登录

Kubernetes Dashboard 默认部署时,只配置了最低权限的 RBAC。因此,我们要为服务账号 kubernetes-dashboard 把绑定 cluster-admin 这个 ClusterRole。

bash 复制代码
root@master30:~# kubectl create clusterrolebinding kubernetes-dashboard-cluster-admin --clusterrole cluster-admin --serviceaccount kubernetes-dashboard:kubernetes-dashboard
yaml 复制代码
# 创建 Bearer Token
root@master30:~# kubectl -n kubernetes-dashboard create token kubernetes-dashboard-admin
eyJhbGciOiJSUzI1NiIsImtpZCI6ImhLWEhaTWQtNGZTek5zUFUyUmNobzN1V2ZlOG1iWkwzSU5kZDZLbU1WUTAifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjc2NDU4ODI3LCJpYXQiOjE2NzY0NTUyMjcsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiYmViNGI3MWMtNmI5MS00ODk4LThiMTMtZWQwZWE3N2JiMmQ5In19LCJuYmYiOjE2NzY0NTUyMjcsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.kBwU3g3Euqj5jMKD9AYu-OQW2yc9pc2hb7uaDi2PO3AdkOBVMkaIiXnWEUC98hpFyXUWGSiaZWPsylJHXMpWz_X-J03nd7zZegUhPbzVxPh7vHyaOaILmqATlakAHMHbwcEQDygBQPBNbPNd-hD-rzaVNkmr2oARNGVRaX7fMNRkuvcbji0-s6IO5yotKkWaGXkIAtwmMTgtgcGnOpVsB97UYjPgWz6RMBL9ZCZIVXHxE_FIl_If7ewhObyaijZIbWeZ21job5PPvb1H1VAHOZoDXtFK_lZdIRIK6e6MYYU4mfYqTcOyiEG8c5SxCOaD4xchWGdzFcfZfn52VQJ7hQ

提示:Token默认有效期24小时,过期后自动删除。下一次登录需要生成新的Token。

旧版本(自学)

之前的一些版本,默认已经为sa账户kubernetes-dashboard 创建了token。

获取token过程如下:

bash 复制代码
# sa/kubernetes-dashboard使用的token是kubernetes-dashboard-token-hm26j
root@master30:~# kubectl describe sa kubernetes-dashboard 
Name:                kubernetes-dashboard
Namespace:           kubernetes-dashboard
Labels:              k8s-app=kubernetes-dashboard
Annotations:         <none>
Image pull secrets:  <none>
Mountable secrets:   kubernetes-dashboard-token-hm26j
Tokens:              kubernetes-dashboard-token-hm26j
Events:              <none>

# 获取token内容
root@master30:~# kubectl describe secrets kubernetes-dashboard-token-hm26j 
Name:         kubernetes-dashboard-token-hm26j
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: kubernetes-dashboard
              kubernetes.io/service-account.uid: d4b7d7ec-a76b-46c5-9dc5-629217cd07ba

Type:  kubernetes.io/service-account-token

Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IkNVVmdmMGNUckVGZFFPUVJ0dTkxZGtEc2hoOTlGZ2ktWjI2RmtnRWI5dFEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1obTI2aiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImQ0YjdkN2VjLWE3NmItNDZjNS05ZGM1LTYyOTIxN2NkMDdiYSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.nBy6Hpv3a5jM-LWzqi95i2jkdLT8bx-jnTOuM5eroxGjpUq8OFOIFgky-0LUlJ-4dlFLdh3FZ2RV8SwQwQoctaay2p-xGfsB1IWNJkySYlGDy9-iMnH6Lc3J_Kb085rgqvY1nLPbSIhBlkueHUFsG9ii52gnGZf2RqroNBtsl_t2ofWfNDJRE7dm51B-WM_rSnNgTChFygRSoMXpzP7jG64dTrvQyxqHKRwr3zMNeYUlleHECUx0Z525hkdFv5B-gPV6ev_2cRS0BR2TM0V2qr1TKqM6G56E7CDkHiu6S2B1mrLdz5E9IKQCPFvxGVM4O4-bia4MHdmJo_INFD57pA
ca.crt:     1066 bytes
namespace:  20 bytes
登录页面

使用上面的 token 登录

选择Pods

分析 SA 使用案例

Kubernetes Dashboard 默认部署时,只配置了最低权限的 RBAC。接下来分析默认的权限配置。

bash 复制代码
# Kubernetes Dashboard 以deployment形式运行
root@master30:~# kubectl get deployments.apps 
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
dashboard-metrics-scraper   1/1     1            1           146m
kubernetes-dashboard        1/1     1            1           146m

# 以 serviceAccount: kubernetes-dashboard 身份运行
root@master30:~# kubectl get deployments.apps kubernetes-dashboard -o yaml|grep serviceAc
      serviceAccount: kubernetes-dashboard
      serviceAccountName: kubernetes-dashboard

# serviceAccount: kubernetes-dashboard 绑定了Role/kubernetes-dashboard 
root@master30:~# kubectl get rolebindings.rbac.authorization.k8s.io 
NAME                   ROLE                        AGE
kubernetes-dashboard   Role/kubernetes-dashboard   147

# Role/kubernetes-dashboard 具备能力如下:
root@master30:~# kubectl describe role kubernetes-dashboard 
Name:         kubernetes-dashboard
Labels:       k8s-app=kubernetes-dashboard
Annotations:  <none>
PolicyRule:
  Resources       Non-Resource URLs  Resource Names                     Verbs
  ---------       -----------------  --------------                     -----
  secrets         []                 [kubernetes-dashboard-certs]       [get update delete]
  secrets         []                 [kubernetes-dashboard-csrf]        [get update delete]
  secrets         []                 [kubernetes-dashboard-key-holder]  [get update delete]
  configmaps      []                 [kubernetes-dashboard-settings]    [get update]
  services/proxy  []                 [dashboard-metrics-scraper]        [get]
  services/proxy  []                 [heapster]                         [get]
  services/proxy  []                 [http:dashboard-metrics-scraper]   [get]
  services/proxy  []                 [http:heapster:]                   [get]
  services/proxy  []                 [https:heapster:]                  [get]
  services        []                 [dashboard-metrics-scraper]        [proxy]
  services        []                 [heapster]                         [proxy]
  
  
# 创建 serviceAccount: kubernetes-dashboard Token
root@master30:~# kubectl -n kubernetes-dashboard create token kubernetes-dashboard 
eyJhbGciOiJSUzI1NiIsImtpZCI6Im9jekNIUUFRZUpKYzA3VXdmRHJvT3ZhaU1fMFNxVkh6NEJZa2lyUnhaaXcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzc4MDUwMjI4LCJpYXQiOjE3NzgwNDY2MjgsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiMTY0YzllOTItMzUwMS00Y2M2LWEwNjctOGZiNDI4OTQ4MDIwIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInVpZCI6IjU3ZDAwNjUxLTZmYWQtNDJmOC04ZmYxLTM3YmRmZGRiY2Y3ZCJ9fSwibmJmIjoxNzc4MDQ2NjI4LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQifQ.EehmwsmNT6OVbazZs1pUOr_7kletmrpduE-8p4m2Y49c_hWXKs3ic7u3DMxw4jNJgbPfnvBiq2nrIObknsXBi6BKXL5XLDSlwsZobYUd0Uw0op2YOZZ3O_B4A-sSOiD-qD1eFMw2RYyR6aRuycWLngvYvyN3pfFCsd1GS_Gh4rAetsPtW4QzlFf230HL8Az2fU-M7A-0_kkt_ujpgMXQpyPSxV5qgyffjnDkOo-llDR-j_QsyyMt12k1zSjzN5ApcGQtHn9y8vbIS0xoqHulmU38kOjnKNpeQJ41nwKnf53q2I2MDoatO5r-hnD_TGx6xcckW0qFNrpje38XgRPHTQ

使用 serviceAccount: kubernetes-dashboard Token 登录

无法看到Pods。

相关推荐
芷栀夏2 小时前
极空间部署Sokoban:Docker搭建网页版推箱子并实现远程访问
运维·docker·容器
InfinitePlus3 小时前
docker redis部署
redis·docker·容器
Pocker_Spades_A4 小时前
极空间安装1Panel:图形化管理Docker应用并部署AList
运维·docker·容器
张洛闻Eren11 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
Linux-187412 小时前
分布式链路追踪系统之skywalking 追踪案例
云原生·skywalking·分布式链路追踪系统·应用程序性能监控·skywalking java agent·skywalking python agent
虎头金猫13 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
mounter62516 小时前
MACsec 全景解析:从技术演进、核心架构到 DPU 硬件卸载与 K8s 大规模调度实战
linux·kubernetes·linux kernel·kernel·macsec
阿里云云原生16 小时前
当拨测遇上 APM:STAROps Agent 如何区分网络问题与后端问题
云原生
fatcoder20 小时前
玩转Docker 08 — 实战:容器化真实后端并编排
后端·docker·容器