简介
本文介绍K8S部署SpringCloud应用整合Nacos实战。
本文是将原来的SpringCloud项目(闪速优选)迁移到K8S上,一行代码都不需要改动。用K8S运行Nacos、Gateway、SpringCloud应用,它们之间通过PodIP进行交互,无需任何干预。
运行流程
- 启动Nacos
- 网关和应用指定Nacos的服务名和端口号
- 启动时,会自动将PodIP注册到Nacos上
- 网关通过NodePort暴露出来
- 用户请求
- 用户请求网关的NodePort,到达网关的Service,分发到其内部Pod。
- 网关内部Pod根据Nacos上获得的PodIP等信息去调用应用的Pod
项目架构
准备工作
需要一个工作目录,我的目录是:/work/devops/k8s/app/k8s-springcloud
目录下的文件如下:
所有文件可以在这里下载:
此内容 登录 后可见!
1.部署Nacos
此内容查看价格为3.9积分,VIP免费,请先登录
7.查看启动结果并测试接口
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
请求体:
{ "amount": 100, "count": 10, "productId": 2, "userId": 1 }
结果
3.查看应用日志
本文为了简单,日志没处理,直接在K8S查看。生产环境里应该将日志收集到ES里。
注意:应用部署了两个实例,请求不一定到了哪个,所以都要查看一下。
查看order日志(有日志打印)
查看 account日志(有日志打印)
查看storage日志(有日志打印)
请先
!