原文网址:K8S--SpringCloud应用整合Nacos实战-CSDN博客
简介
本文介绍K8S部署SpringCloud应用整合Nacos实战。
本文是将原来的SpringCloud项目(闪速优选)迁移到K8S上,一行代码都不需要改动。用K8S运行Nacos、Gateway、SpringCloud应用,它们之间通过PodIP进行交互,无需任何干预。
运行流程
- 启动Nacos
- 网关和应用指定Nacos的服务名和端口号
- 启动时,会自动将PodIP注册到Nacos上
- 网关通过NodePort暴露出来
- 用户请求
- 用户请求网关的NodePort,到达网关的Service,分发到其内部Pod。
- 网关内部Pod根据Nacos上获得的PodIP等信息去调用应用的Pod
效果展示
1.K8S运行效果
K8S部署全部运行起来了:


注册到了Nacos里边:

可以看到,是通过PodIP注册上去的,而不是ClusterIP

2.访问接口
gateway已经用NodePort暴露,端口号是30010,我的Ubunru虚拟机的ip是:192.168.5.193。
所以,访问order应用的order/create接口是这样的:
URL:http://192.168.5.193:30010/order/order/create
请求体:
bash
{
"amount": 100,
"count": 10,
"productId": 2,
"userId": 1
}
结果

3.查看应用日志
本文为了简单,日志没处理,直接在K8S查看。生产环境里应该将日志收集到ES里。
注意:应用部署了两个实例,请求不一定到了哪个,所以都要查看一下。
查看order日志(有日志打印)


查看 account日志(有日志打印)

查看storage日志(有日志打印)


项目架构

准备工作
需要一个工作目录,我的目录是:/work/devops/k8s/app/k8s-springcloud
目录下的文件如下:

所有文件在云盘:
1.部署Nacos
上边是文章的部分内容,为便于维护,全文已转移到此网址:K8S-SpringCloud应用整合Nacos实战 - 自学精灵