Kuboard安装并部署springcloud微服务项目
Kuboard安装并部署springcloud微服务项目
Kuboard是一款k8s的管理界面,我认为它有页面美观(颜值即正义)、操作简洁、系统配置要求不高、对新手友好 的特点。
开发者认为他们的优势:多种认证方式、多集群管理、微服务分层展示、工作负载的直观展示、工作负载编辑、存储类型支持、丰富的互操作性、套件扩展、告警配置、操作审计。
1 安装(官方教程)
安装方法很简单,官网给出了两种安装方式,分别是[Docker安装](https://kuboard.cn/install/v3/install.html)**(推荐)**和 [kubernetes安装](https://kuboard.cn/install/v3/install-in-k8s.html)
这里采用Docker安装,其优势太明显了,简单,还不需要去k8s配置存储
安装 Kuboard v3.x 版本的指令如下:
sudo docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 80:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://内网IP:80" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3
# 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
# 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
# Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \
注意
- KUBOARD_ENDPOINT 参数的作用是,让部署到 Kubernetes 中的
kuboard-agent
知道如何访问 Kuboard Server; - KUBOARD_ENDPOINT 中也可以使用外网 IP;
- Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
- 建议在 KUBOARD_ENDPOINT 中使用域名;
- 如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置
/etc/hosts
文件,将不能正常运行;
参数解释
-
建议将此命令保存为一个 shell 脚本,例如
start-kuboard.sh
,后续升级 Kuboard 或恢复 Kuboard 时,需要通过此命令了解到最初安装 Kuboard 时所使用的参数; -
第 4 行,将 Kuboard Web 端口 80 映射到宿主机的
80
端口(您可以根据自己的情况选择宿主机的其他端口); -
第 5 行,将 Kuboard Agent Server 的端口
10081/tcp
映射到宿主机的10081
端口(您可以根据自己的情况选择宿主机的其他端口); -
第 6 行,指定 KUBOARD_ENDPOINT 为
http://内网IP
,如果后续修改此参数,需要将已导入的 Kubernetes 集群从 Kuboard 中删除,再重新导入; -
第 7 行,指定 KUBOARD_AGENT_SERVER 的端口为
10081
,此参数与第 5 行中的宿主机端口应保持一致,修改此参数不会改变容器内监听的端口10081
,例如,如果第 5 行为-p 30081:10081/tcp
则第 7 行应该修改为-e KUBOARD_AGENT_SERVER_TCP_PORT="30081"
; -
第 8 行,将持久化数据
/data
目录映射到宿主机的/root/kuboard-data
路径,请根据您自己的情况调整宿主机路径;
其他参数 -
在启动命令行中增加环境变量
KUBOARD_ADMIN_DERAULT_PASSWORD
,可以设置admin
用户的初始默认密码。
2 部署Springcloud项目
### 2.1 准备工作
> 1. maven打包Springcloud项目 > 2. 将maven打包好的jar包再打为Docker镜像 > 3. 将镜像发布到镜像仓库(阿里云免费,也可以自建Harbor) > > 以上熟悉Jinkens也可以做成流水线。。。作者不熟悉,正在学
2.2 Kuboard操作
#### 第一步 添加集群
Kuboard提供了两种添加方式:
根据适合自己的选择,不知道适不适合,我这里就选择第一种(第二种看起来就很复杂)
第二步 创建命名空间
我搭建k8s的目的就是部署谷粒商城项目,所以我创建了一个gulimall的namespace
然后输入一个喜欢的名字吧。
第三步 创建工作负载
Kuboard给出了两种新建方式,一种是传统的yaml创建,另一种是可视化界面(点点点就行)。对于我这个新手来说,可视化界面我更喜欢0.0
**基本信息** :工作负载类型选择 Deployment,名称根据情况填写
容器信息:根据镜像打包情况自主添加,我这边镜像直接选择添加工作容器,然后填写镜像地址,和启动参数等。
Secret:在输入镜像地址后,需要填写一个镜像仓库的账号密码,根据实际情况创建就行
存储设置、高级设置:这两个根据情况自由发挥
服务/应用路由:勾选服务,根据部署要求,选择ClusterlP(仅k8s集群网络)或者NodePort(可以映射机器网络)
我这边微服务项目包含前端、网关、其他后端服务模块,前端和网关选择NodePort映射机器端口,其他的服务选择ClusterlP和网关通信就可以了。
然后保存,等待运行。。。
编辑工作负载
到这里就结束了吧