原因:
学习Nacos的时候使用的是本地虚拟机,端口是全部开放的,没有出现过这个问题,但是今天在做项目的时候,使用了docker容器,端口仅开放了8848,折腾了一个多小时,在官网看到了2.x版本的更新内容,
原因是nacos2版本新增了2个通信端口,与住端口的偏移量分别为1000和1001。
也就是9848和9849两个端口(8848+1000=9848,8848+1001=9849)
报错信息
1、连接nacos报错:Nacos.V2.Exceptions.NacosException: Client not connected,current status: STARTING
2、com.alibaba.nacos.api.exception.NacosException: Request nacos server failed:
3、Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected,current status:STARTING
处理方式
docker处理方式:
docker run --name nacos -e MODE=standalone -d -p 8848:8848 -p 9848:9848 -p 9849:9849 -v /home/nacos/logs:/home/nacos/logs nacos/nacos-server:2.0.3
k8s处理方式:这里是k8s服务暴露了多个端口,选择对应的pod
apiVersion: v1
kind: Service
metadata:
name: nacos-server
namespace: finance
spec:
selector:
app: nacos-server
ports:
- name: tcp
protocol: TCP
port: 8848
targetPort: 8848
- name: grpc
protocol: TCP
port: 9848
targetPort: 9848
- name: grpc-mgmt
protocol: TCP
port: 9849
targetPort: 9849
我这里是使用nacos的服务名去注册的,我之前一直以为是nacos相关配置有问题,最终定位是服务的端口没有开