irpas技术客

k8s 使用nacos集群(ktctl本地联调)_lixiaolinzq

大大的周 1940

场景

公司使用k8s环境,nacos替代之前的eureka,刚开始使用的是2.0.2版本,ktctl用于打通本地环境和研发的k8s环境,部署之后出现的很多问题。

nacos版本问题

1.nacos 2.0x开始使用grpc作为客户端和服务端通信的方式,但是ktctl目前不支持grpc,会出现: unexpected stock version 67 并且使用springcloud alibaba版本中nacos也是1.2.1;所以,nacos需要回退到1.2.1;

mysql8.0问题

研发本地使用mysql5.7,生产进行了升级:mysql8.0; 在本地正常使用的nacos,在生产环境会无法启动,原因是:数据源无法创建,5.7和8.0的mysql jar包有改变;解决方案是:

k8s使用nfs挂载方式把mysql的jar包挂载到: /home/nacos/plugins目录下,nacos在启动的时候,会自动加载该目录的jar(nacos留的后门);

ktctl问题

ktctl的问题除了不支持grpc,当前也不支持headless服务,因为它没有ip,无法进行转发。 当前的解决方案是:新建一个service,使用cluster ip把端口映射出来,然后对照nacos的默认端口:8848;然后服务中使用新建的service可以进行访问。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #k8s #nacos版本问题1nacos #Stock #version