我正在 kubernetes 中创建一个具有两个容器的 pod。一个容器试图找到正在运行的服务的端点。如果没有找到,它将退出,导致它重新启动,导致 pod #1 容器没有配置端点 ip。
Pod #2 做同样的事情,但它正在寻找 pod #1 的端点,在 pod #1 找到 pod #2 的端点之前不会配置。
我该如何解决这个问题,其中创建了 pod 的两个端点并且它们相互连接。
我正在 kubernetes 中创建一个具有两个容器的 pod。一个容器试图找到正在运行的服务的端点。如果没有找到,它将退出,导致它重新启动,导致 pod #1 容器没有配置端点 ip。
Pod #2 做同样的事情,但它正在寻找 pod #1 的端点,在 pod #1 找到 pod #2 的端点之前不会配置。
我该如何解决这个问题,其中创建了 pod 的两个端点并且它们相互连接。
也许你可以通过发布 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 和设置publishNotReadyAddresses
to true
,您可以在 Pod 准备好之前获取端点。