首页 > 解决方案 > 如果它依赖于另一个服务端点,如何创建 Kubernetes 端点

问题描述

我正在 kubernetes 中创建一个具有两个容器的 pod。一个容器试图找到正在运行的服务的端点。如果没有找到,它将退出,导致它重新启动,导致 pod #1 容器没有配置端点 ip。

Pod #2 做同样的事情,但它正在寻找 pod #1 的端点,在 pod #1 找到 pod #2 的端点之前不会配置。

我该如何解决这个问题,其中创建了 pod 的两个端点并且它们相互连接。

标签: kuberneteskubernetes-service

解决方案


也许你可以通过发布 NotReady 地址来处理这个问题,比如这个例子:

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
  name: harbor-1-redis-announce-0
  namespace: registry
spec:
  ports:
  - name: server
    port: 6379
    protocol: TCP
    targetPort: redis
  publishNotReadyAddresses: true
  selector:
    release: harbor-1-redis

通过 Annotations 和设置publishNotReadyAddressesto true,您可以在 Pod 准备好之前获取端点。


推荐阅读