nacos-client是2.0.x版本的话,nacos-server必须在启动后等待它自动从1.mode升级到2.mode后,使用nacos-client-2.0.x的服务才能启动。(无语的设计)
但是有的时候你会碰到永远无法upgrade成功的情况:
通过日志/源码/官方issue,可以看到:
从Nacos 1.3.2升级到Nacos 2.0.1,持续打印upgrade check result false #5638
https://github.com/alibaba/nacos/issues/5638
[2.0.x] Need some APIs to look into and fix some unexpected problems when upgrading. #5718
我的nacos集群:
升级nacos版本是不可能的,因为本来就很新,升最新的版本那是开着日本脆皮坦克去叙利亚,死的更快。
只能尝试关闭双写,这样才能保证在很多服务在尝试注册的情况下让nacos集群升级到2.mode,必须使用curl http请求关闭双写。
无语的设计。
在集群的每台nacos节点上执行:
curl -X PUT 'localhost:8848/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false'
可以看到:upgrade成功了。
无语的设计,官方文档上还有这么一段话:
也就是你还得执行curl开启双写否则到时候死给你看,无语的设计。
在集群的每台nacos节点上执行:
curl -X PUT 'localhost:8848/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=true'
参考资料:
Nacos 2.0.0 部署及升级文档
https://nacos.io/zh-cn/docs/2.0.0-upgrading.html