注册CSE服务中心失败排查步骤

使用微服务引擎CSE的时候,遇到了一些连接服务中心失败的现象,根据产品提供的资料和自己的经验,大体写了几种常见的排查步骤,供参考:

  • 异常消息如下时,问题原因为AK/SK没有正确设置和携带到请求头里。
    {"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Invalid request, header is invalid, ak sk or project is empty."}
     检查方法:
    1. 检查项目中是否依赖如下认证模块(间接依赖也可以,比如项目依赖了cse-solution-service-engine)。
      <groupId>com.huawei.paas.cse</groupId>
      <artifactId>foundation-auth</artifactId>
       
    2. 检查microservice.yaml文件中AK/SK是否配置正确,可以参考下载AK/SK获取正确的AK/SK。
      cse:
        credentials:
          accessKey: your access key
          secretKey: your serect key
          akskCustomCipher: default
       
  • 异常消息如下时,问题原因为AK/SK配置不正确。
    {"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"validate ak sk error\"}"}
     

    检查方法:

    检查microservice.yaml文件中AK/SK是否配置正确,可以参考  下载AK/SK获取正确的AK/SK。
    cse:
      credentials:
        accessKey: your access key
        secretKey: your serect key
        akskCustomCipher: default
     
  • 异常消息如下时,问题原因为Project配置不正确。
    {"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"get project token from iam failed. error:http post failed, statuscode: 400\"}"}
     

    检查方法:

    检查microservice.yaml文件中Project是否配置正确,可以参考查看项目名获取正确的Project。

    cse:
      credentials:
        accessKey: your access key
        secretKey: your serect key
        akskCustomCipher: default
        project: cn-north-1
     
  • 异常消息如下时,问题原因为没有足够的额度增加服务实例。
    {"errorCode":"400100","errorMessage":"Not enough quota","detail":"no quota to create instance, ..."}
     

    检查方法:

    登录公有云,在微服务引擎概览页面,可以看到实例个数的额度。如果发现有剩余额度,需要检查下代码配置的服务中心地址和区域信息。需要注意的是您需要检查实例所在区域的额度。

  • 当微服务链接不上服务中心或者配置中心时,微服务会打印如下信息。由于微服务并没有连上服务中心或配置中心,因此在服务中心或配置中心侧,看不到errorCode异常。
    Connection refused: no further information
     

    检查方法:

    1. 检查microservice.yaml文件中服务中心和配置中心地址是否配置正确,如果不正确,请配置为正确的地址。
      cse:
        service:                  //服务中心信息,其中address为服务中心地址
          registry:
            address: https://cse.cn-north-1.myhuaweicloud.com
            instance:
              watch: false
        config:                   //配置中心信息,其中address为配置中心地址
          client:
            serverUri: https://cse.cn-north-1.myhuaweicloud.com
            refreshMode: 1
            refresh_interval: 5000
       
    2. 如果服务中心和配置中心地址配置正确,请执行以下命令检查网络是否良好:

      ping <servicecenter ip>

      ping <configurationcenter ip>

      如果能ping通,表示网络良好。

        说明:

      当服务中心或配置中心配置的地址为域名时,需要将IP地址修改为域名,再执行ping命令。

    3. 如果网络良好,执行以下命令获取服务中心或配置中心地址:

      ping <domain name>

      系统显示如下,请将获取到的IP地址和域名配置到本地“/etc/hosts”文件中。

      10.153.78.18   cse.cn-north-1.myhwclouds.com
       
  • 另外,微服务端口号被占用时,微服务可能无法正常启动,可执行如下命令查看服务监控端口是否被占用。

    netstat -ano | findstr 8080

    如果端口被其他应用占用,请修改microservice.yaml文件,将端口修改为未被占用的端口。

    rest:
      address: 0.0.0.0:8087  //微服务端口,请确保该端口号无冲突

猜你喜欢

转载自www.cnblogs.com/charity-king/p/9441067.html