kuboard作为k8s的dashboard使用

737次阅读
没有评论

1 资源信息#

主机名 OS IP CPU/MEMERY/DISK 备注
k8s-master Rocky-8.10 172.16.1.30 2core/4GiB/100GiB k8s-v1.28.0
k8s-node01 Rocky-8.10 172.16.1.31 4core/8GiB/100GiB k8s-v1.28.0
k8s-node02 Rocky-8.10 172.16.1.32 4core/8GiB/100GiB k8s-v1.28.0
k8s-dashboard Rocky-8.10 172.16.1.23 2core/4GiB/100GiB docker-v26.1.4、kuboard-v3.5.2.x

注: k8s 使用 cri-dockerd 插件, k8s 使用 docker 作为容器运行时。

kuboard作为k8s的dashboard使用

2 安装 Kuboard v3 – kubernetes#

官方URL: https://kuboard.cn/install/v3/install-in-k8s.html

2.1 说明#

K8S 中安装 Kuboard,主要考虑的问题是,如何提供 etcd 的持久化数据卷。推荐使用 hostPath 提供持久化存储,将 kuboard 所依赖的 Etcd 部署到 Master 节点,并将 etcd 的数据目录映射到 Master 节点的本地目录。

2.2 在线安装#

在 k8s-master 节点上进行操作。

1 查看 master 节点角色标签

[root@k8s-master ~]#kubectl get nodes

NAME         STATUS   ROLES           AGE   VERSION
k8s-master   Ready   control-plane   35h   v1.28.0
k8s-node01   Ready   <none>         35h   v1.28.0

k8s-node02   Ready   <none>         35h   v1.28.0

可以看到 k8s-master 节点的角色标签是 control-plane,需要再添加一个 master 标签。

2 添加 master 节点角色标签

[root@k8s-master ~]#kubectl label nodes k8s-master node-role.kubernetes.io/master=

node/k8s-master labeled

[root@k8s-master ~]#kubectl get nodes
NAME         STATUS   ROLES                 AGE   VERSION
k8s-master   Ready   control-plane,master   35h   v1.28.0
k8s-node01   Ready   <none>                 35h   v1.28.0
k8s-node02   Ready   <none>                 35h   v1.28.0

# 也可以通过下面的命令查看指定节点的标签

kubectl get nodes k8s-master --show-labels

注: 当在阿里云、腾讯云(以及其他云)托管的 K8S 集群中以此方式安装 Kuboard 时,执行 kubectl get nodes 将看 不到 master 节点,或者当你删除了 master 节点的 node-role.kubernetes.io/master= 标签时,可以为一个 或者三个 worker 节点添加 k8s.kuboard.cn/role=etcd 的标签,来增加 kuboard-etcd 的实例数量。

etcd(1) Kuboard V3 依赖于 etcd 提供数据的持久化服务,在当前的安装方式下,kuboard-etcd 的存储卷被映射到宿主机节点的hostPath(/usr/share/kuboard/etcd)目录);(2) 为了确保每次重启,etcd 能够加载到原来的数据,以 DaemonSet 的形式部署 kuboard-etcd,并且其容器组将始终被调度到 master 节点,因此,您有多少个 master 节点,就会调度多少个 kuboard-etcd 的实例。(3) 某些情况下,您的 master 节点只有一个或者两个,却仍然想要保证 kubuoard-etcd 的高可用,此时,您可以通过为一到两个 worker 节点添加 k8s.kuboard.cn/role=etcd 的标签,来增加 kuboard-etcd 的实例数量。(4) 如果您已经安装了 Kuboard V3,通过此方式调整 etcd 数量时,需要按照如下步骤执行,否则 etcd 将不能正常启动1)执行 kubectl delete daemonset kuboard-etcd -n kuboard2)为节点添加标签3)执行 kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml4)建议 etcd 部署的数量为 奇数

总结: kuboard 采用 DaemonSet 的形式部署 kuboard-etcd,并且其容器组将始终被调度到存在 node-role.kubernetes.io/master= 标签的 master 节点或存在 k8s.kuboard.cn/role=etcd 标签的 worker 节点,kuboard-etcd 的存储卷被映射到宿主机节点的 hostPath(/usr/share/kuboard/etcd) 目录,确保了每次重启 etcd 能够加载到原来的数据。

3 使用华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像

[root@k8s-master ~]#kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml

4 查看 kuboard 命名空间中的 pod 已就绪

[root@k8s-master ~]#kubectl get pod -n kuboard -o wide

NAME                               READY   STATUS   RESTARTS   AGE     IP             NODE        
kuboard-agent-2-6c8965cd97-rqrdq   1/1     Running   0         8m56s   10.244.85.197   k8s-node01
kuboard-agent-66d5699bf9-5xprk     1/1     Running   0         8m56s   10.244.85.196   k8s-node01
kuboard-etcd-k8dn9                 1/1     Running   0         10m     172.16.1.30     k8s-master
kuboard-v3-7979bc788f-fggsf       1/1     Running   0         10m     10.244.85.195   k8s-node01

[root@k8s-master ~]#

2.3 访问 Kuboard#

在浏览器中打开链接 http://your-node-ip-address:30080输入初始用户名和密码,并登录,用户名: admin 密码: Kuboard123

kuboard作为k8s的dashboard使用

1 浏览器兼容性(1) 请使用 Chrome / FireFox / Safari / Edge 等浏览器(2) 不兼容 IE 以及以 IE 为内核的浏览器

2 添加新的集群(1) Kuboard v3 是支持 Kubernetes 多集群管理的,在 Kuboard v3 的首页里,点击 添加集群 按钮,在向导的引导下可以完成集群的添加。(2) 向 Kuboard v3 添加新的 Kubernetes 集群时,请确保您新添加集群可以访问到当前集群 Master 节点内网IP30080 TCP30081 TCP30081 UDP 端口,这些端口是使用 NodePort 方式暴露的。

kuboard作为k8s的dashboard使用

注意:k8s service 使用 nodeport 暴露,在节点上使用 netstat -tunlp | grep <port> 效验,发现端口找不到,telnet 发现又可以访问,这是因为在k8s 新版本中已经删除了 kube-proxy 打开端口套接字部分,但是会在 iptables 中进行转发,故不影响访问。在 k8s master、worker 任意一个节点上都可以查看到 iptables nat 转发规则。

 2.4 升级 kuboard

直接修改 kuboard 名称空间下名称为 kuboard-v3 的 Deployment 的镜像版本号为最新的版本号,然后等待片刻即可。

2.5 卸载 Kuboard#

在 k8s-master 节点上操作

1 执行 Kuboard v3 的卸载

[root@k8s-master ~]#kubectl delete -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml

2 清理遗留数据在 master 节点以及带有 k8s.kuboard.cn/role=etcd 标签的节点上执行

[root@k8s-master ~]#rm -rf /usr/share/kuboard/

3 安装 Kuboard v3 – 内建用户库#

官方URL: https://kuboard.cn/install/v3/install-built-in.html

3.1 说明#

1 基于如下原因,建议您以 docker run 的方式运行 Kuboard(1) 结构更清晰(Kuboard 作为多个集群的管理界面应该独立于任何集群之外,虽然安装在 Kubernetes 集群中的 Kuboard 也可以管理多个集群)。(2) 登录 Kuboard 时使用不同的认证方式。(3) 问题排查更简单。

3.2 架构说明#

kuboard作为k8s的dashboard使用

1 用户通过 http://外网IP:80 访问 Kuboard v3 。2 安装在 Kubernetes 中的 Kuboard Agent 通过 内网IP 访问 Kuboard 的 Web 服务端口 80 和 Kuboard Agent Server 端口 10081。

3.3 安装#

在 k8s-dashboard 节点进行操作。

[root@k8s-dashboard ~]# docker run -d \

  –restart=unless-stopped \
  –name=kuboard \
  -p 30080:80/tcp \
  -p 30081:10081/udp \
  -p 30081:10081/tcp \
  -e KUBOARD_ENDPOINT=”http://172.16.1.23:30080″ \
  -e KUBOARD_AGENT_SERVER_UDP_PORT=”30081″ \
  -e KUBOARD_AGENT_SERVER_TCP_PORT=”30081″ \
  -v /root/kuboard-data:/data \

swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

参数说明:

(1) 建议将此命令保存为一个 shell 脚本,例如 start-kuboard.sh,后续升级 Kuboard 或恢复 Kuboard 时,需要通过此命令了解到最初

安装 Kuboard 时所使用的参数。
(2) 第 4 行,将 Kuboard Web 端口 80 映射到宿主机的 30080 端口。
(3) 第 5、6 行,将 Kuboard Agent Server 的端口 10081/tcp 10081/udp 映射到宿主机的 30081 端口。
(4) 第 7 行,指定 KUBOARD_ENDPOINT 为 http://内网IP:30080,如果后续修改此参数,需要将已导入的 Kubernetes 集群从 Kuboard
中删除,再重新导入。
1) KUBOARD_ENDPOINT 参数的作用是让部署到 Kubernetes 中的 kuboard-agent 知道如何访问 Kuboard Server;
2) KUBOARD_ENDPOINT 中也可以使用外网 IP;
3) Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
4) 建议在 KUBOARD_ENDPOINT 中使用域名,如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置 /etc/hosts 文件,
将不能正常运行。

(5) 第 8、9 行,指定 KUBOARD_AGENT_SERVER 的端口为 30081,此参数与第 5、6 行中的宿主机端口应保持一致,修改此参数不会改变容器内监听
的端口 10081。

(6) 第 10 行,将持久化数据 /data 目录映射到宿主机的 /root/kuboard-data 路径。

3.4 访问 Kuboard v3.x#

kuboard作为k8s的dashboard使用

在浏览器输入 http://172.16.1.23:30080 即可访问 Kuboard v3.x 的界面。登录方式为: 用户名: admin 密 码: Kuboard123浏览器兼容性: 请使用 Chrome / FireFox / Safari 等浏览器,不兼容 IE 以及以 IE 为内核的浏览器。

3.5 导入 k8s 集群#

1 添加集群

kuboard作为k8s的dashboard使用

2 配置添加集群参数

kuboard作为k8s的dashboard使用

3 在被需要导入的 k8s 集群上执行导入命令

kuboard作为k8s的dashboard使用

4 选择访问集群所需要的身份

kuboard作为k8s的dashboard使用

5 安装 metrics-scraper

kuboard作为k8s的dashboard使用

6 同理再导入一个 k8s 集群

我这里将同一个 k8s 集群再次导入到 kuboard 中,在 kuboard 中名称不同,需要特别注意的是Agent 部署名称要修改一下。

kuboard作为k8s的dashboard使用

可以看到 kuboard 中导入了 2 个 k8s 集群。

kuboard作为k8s的dashboard使用

到 k8s-master 节点去查看部署的 agent 情况。

kuboard作为k8s的dashboard使用
kuboard作为k8s的dashboard使用

3.6 从 kuboard 中删除 k8s 集群#

kuboard作为k8s的dashboard使用

3.7 升级 kuboard#

因为是通过 docker run 运行的 Kuboard,升级步骤如下:1 停止已有的 kuboard 容器

[root@k8s-dashboard ~]# docker stop kuboard

2 使用新版本的镜像启动 kuboard

docker run 命令使用的还是 "3.3 安装" 章节中的。

请注意:
(1) 除了镜像标签之外,请确保命令行中所有其他参数与最初安装 Kuboard 时的参数一致。
(2) 如果您修改此处宿主机端口号,则需要您在 Kuboard 中删除已经导入了的 Kubernetes 集群,并重新导入。

(3) 请留意第 7、8、9 三行,是 v3.0.0.alpha.4 版本开始必须设置的新增参数。

4 简单使用#

在 k8s-master 节点使用 kubectl 命令查看 kuboard 命名空间下 deployment/metrics-scraper 控制器的相关信息。

kuboard作为k8s的dashboard使用

根据以上内容对比 kuboard 控制台。

pod 相关信息

kuboard作为k8s的dashboard使用

元数据信息

kuboard作为k8s的dashboard使用

service 相关信息

kuboard作为k8s的dashboard使用

借助 Kuboard Proxy,登录 Kuboard 的用户可以直接访问 Service/Pod,而无需为 Service 做额外的 NodePort、Ingress 等配置。Kuboard Proxy 是 kubectl proxy 命令一种替代选项,与 kubectl proxy 相比,用户可以直接在 Kuboard 界面进行操作,而无需使用命令行。

5 用户管理#

目标: 实现 peter 用户只能访问 k8s-1.28.0-002 集群且只有只读权限。kuboard 内置角色如下:

kuboard作为k8s的dashboard使用

5.1 创建用户#

kuboard作为k8s的dashboard使用

5.2 赋予权限#

1 三个选项只选择其中一项,我这里选择 角色绑定(集群级别)

kuboard作为k8s的dashboard使用

2 角色、k8s集群选择

3 补充:另一种实现方式

创建一个用户组,在用户组中实现角色绑定(集群级别),将 peter 用户加入到该用户组即可。

5.3 验证#

使用 peter 账号登录 kuboard 成功后发现 Kubernetes 集群列表下只有k8s-1.28.0-002集群。

左侧选项中选择访问集群时所使用的身份第一项已经不能选择,集群概要、集群导入信息也无法点击。

kuboard作为k8s的dashboard使用

进入 kuboard 命名空间下的 Deployment/metrics-scraper 控制器下,扩充副本失败,报 403 无权限。

kuboard作为k8s的dashboard使用
正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)

文心AIGC

2025 年 4 月
 123456
78910111213
14151617181920
21222324252627
282930  
文心AIGC
文心AIGC
人工智能ChatGPT,AIGC指利用人工智能技术来生成内容,其中包括文字、语音、代码、图像、视频、机器人动作等等。被认为是继PGC、UGC之后的新型内容创作方式。AIGC作为元宇宙的新方向,近几年迭代速度呈现指数级爆发,谷歌、Meta、百度等平台型巨头持续布局
文章搜索
热门文章
潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026 Jay 2025-12-22 09...
反超Nano Banana!OpenAI旗舰图像生成模型上线

反超Nano Banana!OpenAI旗舰图像生成模型上线

反超Nano Banana!OpenAI旗舰图像生成模型上线 Jay 2025-12-17 10:25:43 ...
“昆山杯”第二十七届清华大学创业大赛决赛举行

“昆山杯”第二十七届清华大学创业大赛决赛举行

“昆山杯”第二十七届清华大学创业大赛决赛举行 一水 2025-12-22 17:04:24 来源:量子位 本届...
人车家全生态持续破圈,小米宣布对开发者开放小米MiMo大模型、CarIoT硬件生态

人车家全生态持续破圈,小米宣布对开发者开放小米MiMo大模型、CarIoT硬件生态

人车家全生态持续破圈,小米宣布对开发者开放小米MiMo大模型、CarIoT硬件生态 量子位的朋友们 2025-...
最新评论
ufabet ufabet มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง
tornado crypto mixer tornado crypto mixer Discover the power of privacy with TornadoCash! Learn how this decentralized mixer ensures your transactions remain confidential.
ดูบอลสด ดูบอลสด Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
Obrazy Sztuka Nowoczesna Obrazy Sztuka Nowoczesna Thank you for this wonderful contribution to the topic. Your ability to explain complex ideas simply is admirable.
ufabet ufabet Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
ufabet ufabet You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
ufabet ufabet Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
热评文章
反超Nano Banana!OpenAI旗舰图像生成模型上线

反超Nano Banana!OpenAI旗舰图像生成模型上线

反超Nano Banana!OpenAI旗舰图像生成模型上线 Jay 2025-12-17 10:25:43 ...
英伟达护城河又宽了!低调收购开源算力调度王牌工具,全球过半顶级超算在用,Thinking Machines也离不开它

英伟达护城河又宽了!低调收购开源算力调度王牌工具,全球过半顶级超算在用,Thinking Machines也离不开它

英伟达护城河又宽了!低调收购开源算力调度王牌工具,全球过半顶级超算在用,Thinking Machines也离...
英伟达护城河又宽了!低调收购开源算力调度王牌工具,全球过半顶级超算在用,Thinking Machines也离不开它

英伟达护城河又宽了!低调收购开源算力调度王牌工具,全球过半顶级超算在用,Thinking Machines也离不开它

英伟达护城河又宽了!低调收购开源算力调度王牌工具,全球过半顶级超算在用,Thinking Machines也离...
是个公司都在用AI Agent,但大家真的用明白了吗| MEET2026圆桌论坛

是个公司都在用AI Agent,但大家真的用明白了吗| MEET2026圆桌论坛

是个公司都在用AI Agent,但大家真的用明白了吗| MEET2026圆桌论坛 一水 2025-12-17 ...
人车家全生态持续破圈,小米宣布对开发者开放小米MiMo大模型、CarIoT硬件生态

人车家全生态持续破圈,小米宣布对开发者开放小米MiMo大模型、CarIoT硬件生态

人车家全生态持续破圈,小米宣布对开发者开放小米MiMo大模型、CarIoT硬件生态 量子位的朋友们 2025-...