更新时间:2024-09-29 GMT+08:00

Kubernetes Dashboard

插件简介

Kubernetes Dashboard是一个旨在为Kubernetes世界带来通用监控和操作Web界面的项目,集合了命令行可以操作的所有命令。

使用Kubernetes Dashboard,您可以:

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

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

开源社区地址:https://github.com/kubernetes/dashboard

安装步骤

  1. 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“插件中心”,在右侧找到Kubernetes Dashboard插件,单击“安装”
  2. (3.0.2及以上版本支持)在安装插件页面,设置“规格配置”

    表1 插件规格配置

    参数

    参数说明

    插件规格

    该插件可配置系统预置规格或自定义规格。

    容器

    选择自定义规格时,您可根据需求调整插件实例的容器规格。

  3. 在参数配置页面,配置以下参数。

    • 访问方式:支持“节点访问”,通过集群节点绑定的弹性公网IP进行访问,当集群节点未绑定弹性IP时无法正常使用。
    • 证书配置:dashboard服务端使用的证书。
      • 使用自定义证书

        您需要参考样例填写pem格式的“证书文件”“证书私钥”

      • 使用默认证书

        dashboard默认生成的证书不合法,将影响浏览器正常访问,建议您选择手动上传合法证书,以便通过浏览器校验,保证连接的安全性。

  4. 单击“安装”

访问dashboard

  1. 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“插件中心”,确认dashboard插件状态为“运行中”后,单击“访问”
  2. 在CCE控制台弹出的窗口中复制token。
  3. 在登录页面中选择“令牌”的登录方式,粘贴输入复制的token,单击“登录”按钮。

    本插件默认不支持使用证书认证的kubeconfig进行登录,推荐使用令牌方式登录。详细信息请参考:https://github.com/kubernetes/dashboard/issues/2474#issuecomment-348912376

    图1 令牌方式登录

  4. 登录后效果,如图2

    图2 Dashboard概览页

权限修改

安装Dashboard插件后初始角色仅拥有对大部分资源的只读权限,若想让Dashboard界面支持更多操作,需自行在后台对RBAC相关资源进行修改。

具体修改方式:

可对名为“kubernetes-dashboard-minimal”这个ClusterRole中的规则进行调整。

关于使用RBAC的具体细节可参看文档:https://kubernetes.io/docs/reference/access-authn-authz/rbac/

组件说明

表2 dashboard组件(3.0.2以下版本)

容器组件

说明

资源类型

dashboard

该容器提供Kubernetes可视化监控界面。

Deployment

表3 dashboard组件(3.0.2及以上版本)

容器组件

说明

资源类型

dashboard-api

Dashboard的后端API,它提供了一个RESTful API,用于与Kubernetes API Server进行通信。API组件负责从Kubernetes API Server中获取集群信息,并将这些信息提供给Web组件。

Deployment

dashboard-auth

Dashboard的身份验证模块,它提供了基于Token的身份验证机制。当用户登录Dashboard时,Auth组件会检查用户提供的Token是否有效,如果Token有效,则允许用户访问Dashboard。

Deployment

dashboard-web

Dashboard的前端界面,它提供了一个用户友好的UI,用于查看和管理Kubernetes集群。Web组件是一个基于React框架的单页应用程序,可以通过HTTPS协议访问。

Deployment

metrics-scraper

Dashboard的指标采集模块,它负责从Kubernetes集群中收集指标数据,并将这些数据提供给Web组件。Metrics-scraper组件使用Heapster或Metrics Server来获取指标数据,并将这些数据存储在Kubernetes API Server中。

Deployment

dashboard-kong

Dashboard依赖的开源API网关组件,帮助管理API,实现认证和授权功能。

Deployment

附:访问报错解决方法

使用Chrome浏览器访问时,会出现如下“ERR_CERT_INVALID”的报错导致无法正常进入登录界面,原因是dashboard默认生成的证书未通过Chrome校验,当前有以下两种解决方式:
图3 Chrome浏览器报错信息
  • 方式一:使用火狐浏览器访问链接,为当前地址添加“例外”后即可进入登录页面。

  • 方式二:通过启动Chrome时添加“--ignore-certificate-errors”开关忽略证书报错。

    Windows:保存链接地址,关闭所有已经打开的Chrome浏览器窗口,Windows键 +“R”弹出“运行”对话框,输入“chrome --ignore-certificate-errors”启动新的chrome窗口,输入地址进入登录界面。

版本记录

表4 Kubernetes Dashboard插件版本记录

插件版本

支持的集群版本

更新特性

社区版本

3.0.4

v1.27

v1.28

v1.29

修复部分问题

7.3.2

3.0.2

v1.27

v1.28

v1.29

  • 支持v1.27、v1.28、v1.29集群
  • 更新至社区7.3.2版本

7.3.2

2.2.27

v1.21

v1.23

v1.25

修复部分问题

2.7.0

2.2.7

v1.21

v1.23

v1.25

-

2.7.0

2.2.5

v1.21

v1.23

v1.25

插件与节点时区一致

2.7.0

2.2.3

v1.21

v1.23

v1.25

-

2.7.0

2.1.1

v1.19

v1.21

v1.23

  • 适配CCE v1.23集群
  • 更新至社区v2.5.0版本

2.5.0

2.0.10

v1.15

v1.17

v1.19

v1.21

适配CCE v1.21集群

2.0.0

2.0.4

v1.15

v1.17

v1.19

配置seccomp默认规则

2.0.0

2.0.3

v1.15

v1.17

v1.19

兼容CCE v1.15集群

2.0.0

2.0.2

v1.17

v1.19

适配CCE v1.19集群

2.0.0

2.0.1

v1.15

v1.17

-

2.0.0

2.0.0

v1.17

支持对接CCE v1.17

2.0.0