如果它依赖于另一个服务端点,如何创建 Kubernetes 端点
How to create Kubernetes endpoints if it depends on another service endpoint
我正在 kubernetes 中创建一个有两个容器的 pod。一个容器试图找到 运行 服务的端点。如果没有找到,它将退出,导致它重新启动,导致 pod #1 容器没有配置端点 ip。
Pod #2 做同样的事情,但它正在寻找 pod #1 的端点,在 pod #1 找到 pod #2 的端点之前不会配置。
如何解决这个问题,其中 pods 的两个端点都已创建并且它们相互连接。
也许你可以通过发布 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
设置为 true
,您可以在 Pods 准备好之前获取端点。
我正在 kubernetes 中创建一个有两个容器的 pod。一个容器试图找到 运行 服务的端点。如果没有找到,它将退出,导致它重新启动,导致 pod #1 容器没有配置端点 ip。
Pod #2 做同样的事情,但它正在寻找 pod #1 的端点,在 pod #1 找到 pod #2 的端点之前不会配置。
如何解决这个问题,其中 pods 的两个端点都已创建并且它们相互连接。
也许你可以通过发布 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
设置为 true
,您可以在 Pods 准备好之前获取端点。