Один Kubernetes Ingress на несколько кластеров? Проблемы с областью - PullRequest
0 голосов
/ 11 апреля 2019

Итак, у меня сейчас два кластера (скоро будет еще несколько, как только я это заработаю), ClusterA и ClusterB.

Возможно ли для одного входа взаимодействовать со службами из обоих кластеров?

ClusterA является хостом внешнего интерфейса и входа, а ClusterB - хостом внутреннего интерфейса.

Ниже приводится выдержка. Все, что работает на стороне сервера.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:{...}  
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/test-frontend-ingress
  uid: //
  spec:
  backend:
    serviceName: idu-frontend-XYZ
    servicePort: 80
  rules:
  - http:
      paths:
      - backend:
          serviceName: test-backend-app-service
          servicePort: 8080
        path: /api/v2/
      - backend:
          serviceName: idu-frontend-XYZ
          servicePort: 80
        path: /
  tls:
  - secretName: tls-cert-name
status:
  loadBalancer:
    ingress:
    - ip: 123.456.789.012

URL-адрес служебной службы:
https://console.cloud.google.com/kubernetes/service/asia-southeast1-b/test-backend/default/test-backend-app-service...

URL, на который пытается указать вход:
https://console.cloud.google.com/kubernetes/service/asia-southeast1-b/standard-cluster-1/default/test-backend-app-service...

Так что я понял, что вход может взаимодействовать только с вещами в том же кластере, что и они? test-backend и standard-cluster-1 являются именами кластеров, и они оба находятся в пространстве имен по умолчанию. Разве это не бессмысленно, поскольку вы можете развернуть только одну вещь в каждом кластере? Если ваши изображения не содержат несколько приложений, в этом случае это уже не микросервисы.

1 Ответ

1 голос
/ 11 апреля 2019

Сложно связать два кластера с Kubernetes.

Вместо этого вы можете развернуть обе службы в одном кластере.Вы можете создать два развертывания и представить их как сервисы.И затем вход может перенаправить трафик между ними.

Зачем вам нужен кластер для каждой службы?

Если другой альтернативы нет, вам придется сделать что-то вроде этого: https://appscode.com/products/voyager/7.1.1/guides/ingress/http/external-svc/

...