Kuboard安装并部署springcloud微服务项目

Kuboard安装并部署springcloud微服务项目

Kuboard是一款k8s的管理界面,我认为它有页面美观(颜值即正义)、操作简洁、系统配置要求不高对新手友好 的特点。


开发者认为他们的优势:多种认证方式、多集群管理、微服务分层展示、工作负载的直观展示、工作负载编辑、存储类型支持、丰富的互操作性、套件扩展、告警配置、操作审计。

image-20230311091519219

1 安装(官方教程)


安装方法很简单,官网给出了两种安装方式,分别是[Docker安装](https://kuboard.cn/install/v3/install.html)**(推荐)**和 [kubernetes安装](https://kuboard.cn/install/v3/install-in-k8s.html)

这里采用Docker安装,其优势太明显了,简单,还不需要去k8s配置存储

image-20230311092017660


安装 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提供了两种添加方式:

image-20230311093115523

image-20230311093234579

image-20230311093246037

根据适合自己的选择,不知道适不适合,我这里就选择第一种(第二种看起来就很复杂)


第二步 创建命名空间


我搭建k8s的目的就是部署谷粒商城项目,所以我创建了一个gulimall的namespace

image-20230311093752329

然后输入一个喜欢的名字吧。


第三步 创建工作负载


Kuboard给出了两种新建方式,一种是传统的yaml创建,另一种是可视化界面(点点点就行)。对于我这个新手来说,可视化界面我更喜欢0.0

image-20230311094147849


**基本信息** :工作负载类型选择 Deployment,名称根据情况填写

image-20230311094216129

容器信息:根据镜像打包情况自主添加,我这边镜像直接选择添加工作容器,然后填写镜像地址,和启动参数等。

image-20230311094449756

Secret:在输入镜像地址后,需要填写一个镜像仓库的账号密码,根据实际情况创建就行

image-20230311094526698

存储设置高级设置:这两个根据情况自由发挥

服务/应用路由:勾选服务,根据部署要求,选择ClusterlP(仅k8s集群网络)或者NodePort(可以映射机器网络)

我这边微服务项目包含前端、网关、其他后端服务模块,前端和网关选择NodePort映射机器端口其他的服务选择ClusterlP和网关通信就可以了

image-20230311095237171

然后保存,等待运行。。。

编辑工作负载

image-20230311095721271

image-20230311095813483


到这里就结束了吧

posted @ 2023-03-11 10:04  浪漫主义程序员  阅读(1059)  评论(0编辑  收藏  举报