kuboard v4管理kubernetes
·
简介
kuboard是一个kubernetes多集群管理工具,当前大版本有v3,v4,本文件最新版本v4为基础,部署环境为单机(kuboard与kubernetes在同一机器中)。
兼容性
- Kuboard v4 使用了与 Kuboard v3 不同的技术架构,不能直接从 Kuboard v3 升级到 Kuboard v4;
- 可以将同一个集群同时导入到 Kuboard v3 和 Kuboard v4。此时 Kuboard v3 / v4 都可以有效管理该集群。
- 在 v3 以及 v4 中的如果集群名字相同,Kuboard 套件不受影响,在 V3 / V4 中都可以正常使用。
v3 & v4差异
Kuboard v4 相较于 v3 主要差异如下:
- Kubernetes 版本适配范围:
- v3 支持 Kubernetes 1.13 - 1.33
- v4 支持 Kubernetes 1.15 - 1.34(持续跟进 Kubernetes 最新版本)
- 用户体验提升
- Kuboard v4 覆盖 v3 的所有主要功能
- Kuboard v4 兼容 v3 的主要套件,升级到 V4 时,已安装套件不受影响
- Kuboard v4 将常用 Kubernetes 对象缓存到本地,支持模糊查询,支持更快的检索速度
- Kuboard v4 可以在一个列表中同时显示多个集群、名称空间的对象,查询操作更快捷
- Kuboard v4 提供更简洁更清晰的授权模型,给用户授权时更灵活更方便
- 技术架构
- 技术栈差异:
- Kuboard v3 技术栈: vue 2.7 + golang 1.18 + etcd 3.4
- Kuboard v4 技术栈: vue 3.5 + java 1.17 + MySQL/MariaDB/Postgre(三种数据库选一)
- Kuboard v4 支持高可用部署
- Kuboard v4 提供更丰富的 API 供用户调用
Kuboard v3.x 版本说明
Kuboard v3.x 支持 amd64 (x86) 架构和 arm68 (armv8) 架构的 CPU;
兼容性
Kubernetes 版本 Kuboard 版本 兼容性 说明
v1.33 v3.5.2.x 😄 已验证
v1.32 v3.5.2.x 😄 已验证
v1.31 v3.5.2.x 😄 已验证
v1.30 v3.5.2.x 😄 已验证
v1.29 v3.5.2.x 😄 已验证
v1.28 v3.5.2.x 😄 已验证
。。。
v3版本的兼容列表请参考v3兼容列表
v4版本安装
依赖条件
kuboard v4支持后端数据库类型及版本如下,任选一种即可。
- MySQL >= 5.7
- MariaDB >= 8.0
- OpenGauss >= 3.0
准备数据库
MySQL/MariaDB
在 MySQL(或者 MariaDB)中创建数据库,建库脚本如下:
CREATE DATABASE kuboard DEFAULT CHARACTER SET = 'utf8mb4' DEFAULT COLLATE = 'utf8mb4_unicode_ci';
create user 'kuboard'@'%' identified by 'Kuboard123';
grant all privileges on kuboard.* to 'kuboard'@'%';
FLUSH PRIVILEGES;
OpenGauss
在 OpenGauss 命令行中创建数据库,建库脚本如下:
CREATE USER kuboard PASSWORD 'Kuboard123';
CREATE DATABASE kuboard OWNER=kuboard ENCODING='UTF8' DBCOMPATIBILITY='PG';
\c kuboard
CREATE SCHEMA kuboard AUTHORIZATION kuboard;
如果使用 OpenGauss 数据库,Kuboard 将使用 postgre SQL 语法操作数据库
启动 Kuboard
以下k8s静态pod、docker run启动时数据库连接均为外部独立数据库,连接地址根据自身环境按实际修改
kubernetes静态pod方式
准备静态pod的启动文件如下,pod启动后在kube-system命令空间下管理
---
apiVersion: v1
kind: Pod
metadata:
annotations: {}
labels:
k8s.kuboard.cn/name: kuboard-v4
name: kuboard-v4
namespace: kube-system
spec:
containers:
- env:
- name: TZ
value: "Asia/Shanghai"
- name: DB_DRIVER
value: "com.mysql.cj.jdbc.Driver"
- name: DB_URL
value: "jdbc:mysql://10.99.0.8:3306/kuboard?serverTimezone=Asia/Shanghai"
- name: DB_USERNAME
value: "kuboard"
- name: DB_PASSWORD
value: "Kuboard123"
image: 'swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4'
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
tcpSocket:
port: 80
initialDelaySeconds: 180
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: kuboard
ports:
- containerPort: 80
hostPort: 9870
name: web
protocol: TCP
readinessProbe:
failureThreshold: 3
tcpSocket:
port: 80
initialDelaySeconds: 180
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
volumeMounts:
- mountPath: /app/logs
name: logs
volumes:
- hostPath:
path: "/var/log/kuboard"
name: logs
restartPolicy: Always
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
docker run方式
使用 docker run 启动 Kuboard 容器时命令如下
- 使用 MYSQL 时,启动 Kuboard 的脚本如下:
docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 80:80/tcp \
-e TZ="Asia/Shanghai" \
-e DB_DRIVER=com.mysql.cj.jdbc.Driver \
-e DB_URL="jdbc:mysql://10.99.0.8:3306/kuboard?serverTimezone=Asia/Shanghai" \
-e DB_USERNAME=kuboard \
-e DB_PASSWORD=Kuboard123 \
-v ./kuboard-log:/app/logs \
swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4
- 使用 MariaDB 时,启动 Kuboard 的脚本如下:
docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 80:80/tcp \
-e TZ="Asia/Shanghai" \
-e DB_DRIVER=org.mariadb.jdbc.Driver \
-e DB_URL="jdbc:mariadb://10.99.0.8:3306/kuboard?&timezone=Asia/Shanghai" \
-e DB_USERNAME=kuboard \
-e DB_PASSWORD=Kuboard123 \
-v ./kuboard-log:/app/logs \
swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4
- 使用 OpenGauss 时,启动 Kuboard 的脚本如下:
docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 80:80/tcp \
-e TZ="Asia/Shanghai" \
-e DB_DRIVER=org.postgresql.Driver \
-e DB_URL="jdbc:postgresql://10.99.0.8:5432/kuboard?currentSchema=kuboard&characterEncoding=UTF8" \
-e DB_USERNAME=kuboard \
-e DB_PASSWORD=Kuboard123 \
-v ./kuboard-log:/app/logs \
swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4
docker compose方式
- 创建目录kuboard-v4
mkdir kuboard-v4 - 进入kuboard-v4目录下创建文件 docker-compose.yaml,内容如下
configs:
create_db_sql:
content: |
CREATE DATABASE kuboard DEFAULT CHARACTER SET = 'utf8mb4' DEFAULT COLLATE = 'utf8mb4_unicode_ci';
create user 'kuboard'@'%' identified by 'kuboardpwd';
grant all privileges on kuboard.* to 'kuboard'@'%';
FLUSH PRIVILEGES;
services:
db:
image: swr.cn-east-2.myhuaweicloud.com/kuboard/mariadb:11.3.2-jammy
# image: mariadb:11.3.2-jammy
# swr.cn-east-2.myhuaweicloud.com/kuboard/mariadb:11.3.2-jammy 与 mariadb:11.3.2-jammy 镜像完全一致
environment:
MARIADB_ROOT_PASSWORD: kuboardpwd
MYSQL_ROOT_PASSWORD: kuboardpwd
TZ: Asia/Shanghai
volumes:
- ./kuboard-mariadb-data:/var/lib/mysql:Z
configs:
- source: create_db_sql
target: /docker-entrypoint-initdb.d/create_db.sql
mode: 0777
networks:
kuboard_v4_dev:
aliases:
- db
kuboard:
image: swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4
# image: eipwork/kuboard:v4
environment:
- DB_DRIVER=org.mariadb.jdbc.Driver
- DB_URL=jdbc:mariadb://db:3306/kuboard?serverTimezone=Asia/Shanghai
- DB_USERNAME=kuboard
- DB_PASSWORD=kuboardpwd
ports:
- "8000:80"
volumes:
- ./kuboard-log:/app/logs:Z
depends_on:
- db
networks:
kuboard_v4_dev:
aliases:
- kuboard
networks:
kuboard_v4_dev:
driver: bridge
- 在kuboard-v4目录下启动v4
docker compose up -d
- 在浏览器中打开kuboard地址,界面如下
浏览器打开地址因部署方式,指定端口不同可能有异,根据实际情况访问指定的端口

- 用默认用户名和密码登录: admin Kuboard123。
通kubectl的配置文件config导入后如下。

具体的部署说明,环境变量等设置可参考官网Kuboard
更多推荐
所有评论(0)