Вход без IP-адреса - PullRequest
       2

Вход без IP-адреса

0 голосов
/ 01 февраля 2020

Я создаю вход для раскрытия своего внутреннего сервиса.

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: app-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: example.com
      http:
        paths:
        - path: /app
          backend:
            serviceName: my-app
            servicePort: 80

Но когда я пытаюсь получить этот вход, он показывает, что у него нет IP-адреса.

NAME          HOSTS                ADDRESS   PORTS   AGE
app-ingress   example.com                    80      10h

Служба показать ниже.

apiVersion: v1
kind: Service
metadata:
  name: my-app
spec:
  selector:
    app: my-app
  ports:
  - name: my-app
    nodePort: 32000
    port: 3000
    targetPort: 3000
  type: NodePort

1 Ответ

2 голосов
/ 01 февраля 2020

Примечание: я предполагаю, что из-за другого вопроса, который вы задали , вы пытаетесь создать вход в кластер, созданный вручную с помощью kubeadm.

Как описано в документы , для того чтобы вход работал, сначала необходимо установить контроллер входа . Сам входной объект - это просто фрагмент конфигурации для установленного входного контроллера.

Nginx контроллер на основе является одним из самых популярных вариантов. Как и в случае с сервисами, для того, чтобы получить один VIP-сервер с поддержкой отработки отказа для вашего входа, вы должны использовать MetalLB . В противном случае вы можете развернуть входную nginx через порт узла: подробности здесь

Наконец, servicePort в вашем входном объекте должно быть 3000, как и port вашей службы .

...