一 环境搭建

1. 登录KubeSphere

以admin用户登录

kubesphere mysql8 应用仓库 kubesphere部署应用_git

进入工作空间

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_02

创建ks-test工作空间

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_03

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_04

进入ks-test工作空间

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_05

2. 添加helm库

进入App Repositories

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_06

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_07

添加ks-test helm库

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_08

添加成功

[

kubesphere mysql8 应用仓库 kubesphere部署应用_git_09

二 快速部署

1. 创建test项目

创建test项目

[

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_10

[

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_11

进入test项目

[

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_12

2. 部署Nacos

进入Apps

[

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_13

[

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_14

选择添加的ks-test helm库

[

kubesphere mysql8 应用仓库 kubesphere部署应用_git_15

找到Nacos

[

kubesphere mysql8 应用仓库 kubesphere部署应用_git_16

[

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_17

写入应用名称

[

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_18

默认快速启动模式

kubesphere mysql8 应用仓库 kubesphere部署应用_git_19

部署成功

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_20

3. 查看状态

进入Nacos应用

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_21

服务映射在nodeip:30000端口

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_22

4. 访问Nacos服务(nodeip 30000端口)

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_23

kubesphere mysql8 应用仓库 kubesphere部署应用_git_24

更多部署参数请参考已下连接 nacos-k8s/helm at master · nacos-group/nacos-k8s · GitHub

三 部署服务注册Nacos

1. 环境准备

下载示例包


git clone  http://gitee.com/misteruly/gateway.git git clone  http://gitee.com/misteruly/service_one.git git clone  http://gitee.com/misteruly/service_two.git


kubesphere mysql8 应用仓库 kubesphere部署应用_容器_25

修改gateway,service_one,service_two配置文件application.yml

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_26

修改成你自己的Nacos地址并上传到自己的git,这里是K8S跨名称空间连接服务,格式:服务名.名称空间.svc.cluster.local:端口号

2. 服务打包镜像并上传镜像

使用KubeSphere的S2I功能,需要在KubeSphere启用DevOps组件和Logging组件,请参考文档:http://kubesphere.com.cn/docs/quick-start/enable-pluggable-components/

新建一个项目build-images,然后进入这个项目

kubesphere mysql8 应用仓库 kubesphere部署应用_git_27

kubesphere mysql8 应用仓库 kubesphere部署应用_git_28

创建一个密钥

kubesphere mysql8 应用仓库 kubesphere部署应用_git_29

取名dockerhub-id

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_30

类型选择镜像库密钥

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_31

填写你自己的dockerhub的账号和密码

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_32

创建成功

kubesphere mysql8 应用仓库 kubesphere部署应用_git_33

创建一个构建镜像,源代码选择java,然后下一步

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_34

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_35

填入自己的代码链接和分支,镜像名称和版本,以及刚才创建自己的dockerhub-id

kubesphere mysql8 应用仓库 kubesphere部署应用_git_36

正在构建,需要等待一段时间

kubesphere mysql8 应用仓库 kubesphere部署应用_git_37

进入查看构建日志,已构建成功

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_38

已经上传镜像到自己的dockerhub库

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_39

以相同的方式把service_one和service_two服务构建镜像,并上传镜像。

kubesphere mysql8 应用仓库 kubesphere部署应用_git_40

3. 部署服务

部署gateway服务

新建一个项目deploy-java

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_41

进入deploy-java

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_42

创建一个服务

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_43

选择无状态的服务

kubesphere mysql8 应用仓库 kubesphere部署应用_git_44

取名gateway,然后下一步

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_45

填写自己gateway的镜像

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_46

填写服务名,容器端口号,和服务端口,点击√,然后next

kubesphere mysql8 应用仓库 kubesphere部署应用_容器_47

然后next

kubesphere mysql8 应用仓库 kubesphere部署应用_git_48

internet Access选择NodePort,然后create

kubesphere mysql8 应用仓库 kubesphere部署应用_k8s_49

gateway服务访问的端口是:nodeip:31698

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_50

负载已经运行

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_51

我们以相同的方式部署service_one,service_two服务

kubesphere mysql8 应用仓库 kubesphere部署应用_docker_52

都已经注册成功到Nacos

kubesphere mysql8 应用仓库 kubesphere部署应用_go语言_53

4. 服务访问

访问service_one服务

kubesphere mysql8 应用仓库 kubesphere部署应用_git_54

访问service_two服务

kubesphere mysql8 应用仓库 kubesphere部署应用_git_55

 小结:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。本实例使用Nacos 实现路由转发功能和服务注册功能,适用于SpringCloud服务框架。