Невозможно создать входной ресурс в kubernetes со службой в другом пространстве имен - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь создать входной ресурс, как показано ниже, моя проблема в том, что мои service1 и service2 расположены в другом пространстве имен в kubernetes. поэтому, чтобы мой входной ресурс связывал обе услуги, которые я предоставляю, как service2.<namespace>. но я не могу создать как (.) не допускается. Как я могу указать мой сервис.2, присутствующий в другом пространстве имен?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/add-base-url: "true"
spec:
  rules:
  - host: test.com
    http:
      paths:
        - path: "/"
          backend:
            serviceName: service1
            servicePort: 1000
        - path: "/test"
          backend:
            serviceName: service2.test
            servicePort: 2000

1 Ответ

1 голос
/ 10 февраля 2020

Вы можете решить это двумя способами:

  • Вы можете создать еще один Ingress ресурс в test пространстве имен для пути /test.

  • Если вы не работаете в GKE, вы также можете создать Service типа ExternalName в текущем пространстве имен, которое отображается на службу service2 в пространстве имен test. Тогда вы можете использовать имя service2 для обозначения service2.test

kind: Service
apiVersion: v1
metadata:
  name: service2
  namespace: default
spec:
  type: ExternalName
  externalName: service2.test.svc.cluster.local
  ports:
  - port: 2000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...