Как создать конечные точки Kubernetes, если это зависит от другой конечной точки службы

Я создаю в кубернетах модуль с двумя контейнерами. Один контейнер пытается найти конечную точку работающей службы. Если он не найдет его, он выйдет, что приведет к его перезапуску, что приведет к тому, что контейнер pod # 1 не настроит IP-адрес конечной точки.

Модуль №2 делает то же самое, но ищет конечную точку для модуля №1, которая не будет настраиваться, пока модуль №1 не найдет конечную точку для модуля №2.

Как мне обойти это, когда создаются обе конечные точки для модулей, и они подключаются друг к другу.


person adrian humphrey    schedule 20.05.2019    source источник


Ответы (1)


Возможно, вы справитесь с этим, опубликовав адрес 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

С помощью аннотаций и установки publishNotReadyAddresses на true вы можете получить конечные точки до того, как модули будут готовы.

person Kun Li    schedule 21.05.2019