Loading
close

添加第三方注册中心后没生成服务对应的ServiceEntry资源

time 更新时间:2024-02-05 14:41:14

描述

部署RegistryHub资源后,返回registryhub.ecns.easystack.cn/xxx created,但是在导出的命名空间一直没有服务端对应的ServiceEntry资源。

解决方案

  1. 通过查看RegistryHub资源描述,如果出现错误,在status.phase状态会置为failed,同时在status.conditions中会标注出错误原因,比如下面的错误是zookeeper地址设置错误,通过修改为正确地址后,再重新部署一下资源即可:
kubectl get registryhub registryhub-sample -oyaml
apiVersion: ecns.easystack.cn/v1alpha1
kind: RegistryHub
metadata:
  name: registryhub-sample
  namespace: default
spec:
  address: zookeeper1.default:2181
  generate_to: default
  type: zookeeper
status:
  address: zookeeper1.default:2181
  conditions:
  - failed_reason: 'lookup zookeeper1.default on 10.43.0.10:53: no such host'
    record_time: "2024-02-04T02:53:25Z"
  generate_to: default
  phase: failed
  serviceentries: {}
  type: zookeeper
  1. 查看RegistryHub资源描述,status.phase显示为success,但仍然没有生成服务端对应的ServiceEntry资源,status.serviceentryies 只有几条ServiceEntry记录:
status:
  address: zookeeper.default:2181
  generate_to: default
  phase: success
  serviceentries:
    aeraki-org-apache-dubbo-samples-api-greetingservice-1-0-0-default: "2024-02-04T03:04:20Z"
  type: zookeeper

可从以下两个方面排查:

  • 是不是刚部署registryhub资源:如果是,可以继续等待几分钟,同时关注status.serviceentryies列表是否在持续增加,如果在增加,说明还在同步,稍后客户端再重试即可。

  • 注册中心是否有服务端信息:如果registryhub的status.serviceentryies没有增加了,也没有看到服务端对于的ServiceEntry资源,可以排查注册中心是否存在服务端信息。

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品