Nacos集群部署报400问题

Nacos现在在微服务领域用的比较广了,最近使用时发现一些问题记录下,我是nacos服务器用的是最新版,客户端为了兼容Springboot版本用的是0.1.2,现在最新客户端是0.2.2,具体请看版本说明对照表

版本说明:

  • Nacos Server采用1.4.1版本, kubernetes部署
  • Spring cloud采用Edgware.RELEASE版本
  • Springboot采用1.5.9.RELEASE版本
  
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Edgware.RELEASE
                pom
                import
            

            
                org.springframework.cloud
                spring-cloud-alibaba-dependencies
                0.1.2.RELEASE
                pom
                import
            
      
        

    

问题

问题1:工程启动时报错

Error creating bean with name 'nacosAutoServiceRegistration

版本冲突,重新引入版本覆盖

 
        org.springframework.cloud
        spring-cloud-commons
        1.3.5.RELEASE
 

问题2:工程启动时报错

failed to req API:/nacos/v1/ns/instance after all servers([nacos:8848]) tried: failed to req API:http://nacos:8848/nacos/v1/ns/instance. code:400 msg:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Jan 27 14:29:32 CST 2021
There was an unexpected error (type=Bad Request, status=400).
receive invalid redirect request from peer 100.97.40.95

这个问题比较怪异,应该是一个bug,具体有两种办法解决:

  • 使用单机模式
    将MODE属性有cluster改成standalone
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nacos
spec:
  selector:
    matchLabels:
      app: nacos
  serviceName: nacos
  replicas: 3
  template:
  ....
    spec:
      containers:
     ....
            - name: MODE
              value: "standalone"
       ....
  • 单独引入依赖包
    单独引入discovery和config包

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Edgware.RELEASE
                pom
                import
            
 
            
            
                org.springframework.cloud
                spring-cloud-commons
                1.3.5.RELEASE
            


            
                org.springframework.cloud
                spring-cloud-starter-alibaba-nacos-discovery
                0.1.2.RELEASE
            
            
                org.springframework.cloud
                spring-cloud-starter-alibaba-nacos-config
                0.1.2.RELEASE
            
        

另外k8s中服务列表配成这样:

....
            - name: NACOS_SERVERS
              value: "nacos-0.nacos.default.svc.cluster.local:8848 nacos-1.nacos.default.svc.cluster.local:8848"
...

你可能感兴趣的:(Nacos集群部署报400问题)