基于 Docker 安装 Kuboard 实现kubernetes 多个集群管理

 

 

基于 Docker 安装

 

安装说明

官方安装

https://kuboard.cn/install/v3/install-built-in.html#部署计划

 

基于如下原因,建议您以 docker run 的方式运行 Kuboard:

  • 结构更清晰(Kuboard 作为多个集群的管理界面应该独立于任何集群之外,虽然安装在Kubernetes 集群中的 Kuboard 也可以管理多个集群)
  • 登录 Kuboard 时使用不同的认证方式
  • 问题排查更简单

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

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

 

 

image

安装 Kuboard 之前,假设:
您已经准备好了一个 Linux 服务器用于安装 Kuboard-V3,并且该机器上的 docker 版本不低于19.03
您已经有自己的 Kubernetes 集群,并且版本不低于 Kubernetes v1.13

 

基于 docker 安装实现kubernetes 多个集群管理

安装 Kuboard v3.x 版本的指令如下:

sudo docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://192.168.3.60:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  --add-host kubeapi.org:192.168.3.60 \ #可选,k8s-apiserver的名称解释
 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

 

sudo docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://192.168.3.60:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  --add-host kubeapi.org:192.168.3.60  swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

 

# 可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 可以更快地完成镜像下载。
 # 请不要使用 127.0.0.1 或者 localhost 作为内网 IP
 # Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server

 

在浏览器输入 http://your-host-ip:80 即可访问 Kuboard v3.x 的界面,登录方式:
用户名: admin
密 码: Kuboard123

 

cat << EOF > kuboard-create-token.yaml
---
apiVersion: v1
kind: Namespace
metadata:
  name: kuboard

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kuboard-admin
  namespace: kuboard

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kuboard-admin-crb
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kuboard-admin
  namespace: kuboard

---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
  annotations:
    kubernetes.io/service-account.name: kuboard-admin
  name: kuboard-admin-token
  namespace: kuboard
EOF

kubectl apply -f kuboard-create-token.yaml 
echo -e "\033[1;34m将下面这一行红色输出结果填入到 kuboard 界面的 Token 字段:\033[0m"
echo -e "\033[31m$(kubectl -n kuboard get secret $(kubectl -n kuboard get secret kuboard-admin-token | grep kuboard-admin-token | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)\033[0m"

 

sh kuboard.sh 

复制粘贴token到界面

http://192.168.3.60:80

 

image

 

 

image

 

 

 

image

 

 

 

posted @ 2026-06-09 20:13  minger_lcm  阅读(17)  评论(0)    收藏  举报