Как настроить Aks Ingress с Azure Private DNS - PullRequest
0 голосов
/ 21 января 2020

Я создал АКС с внутренним входом Nginx. Это выглядит как показано ниже в кластере.

enter image description here

Затем я создал Azure частную службу DNS. В Azure частной службе DNS я создал «Набор записей», например

Blockquote

enter image description here

Технически, я должен быть возможность доступа к внешнему ip LoadBalancer с продвижением.mydomain.com (как пример). После этого у меня появляется ошибка «502 Bad Gateway», когда я нажимаю http://promotion.mydomain.com в браузере. Любой совет?

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Я столкнулся с той же проблемой и недавно смог ее решить.

Я создал еще один Ingress, но в нужном пространстве имен (по умолчанию у меня) со следующим определением:

(I включили tls, но вы можете удалить эту часть)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  name: my-custom-ingress
spec:
  tls:
  - hosts:
    - foo.mydomain.com
    secretName: my-tls-secret
  rules:
    - host: foo.mydomain.com
      http:
        paths:
        - path: /
          backend:
            serviceName: my-foo-app-service-nodeport
            servicePort: 4444


Прежде всего найдите ВНЕШНИЙ IP вашего nginx входа и имейте в виду:

kubectl get svc --namespace ingress-basic

Затем в зоне Azure DNS вы можете присоединить домен к Azure ресурсу:

  1. Открыть azure портал.
  2. Go в MC_... группа ресурсов, созданная вашим кластером AKS.
  3. Найдите ресурс LoadBalancer и щелкните по нему.
  4. На LoadBalancer go в «Конфигурация внешнего интерфейса IP». Затем вы увидите список опубликованных c IP-адресов со связанным ResourceId (пример: 11.22.33.44 (xxx-yyyy-bbb))
  5. Найдите IP-адрес, соответствующий IP-адресу LoadBalancer, который вы нашли на LoadBalancer (до шага 1) и запомните связанный идентификатор объекта.
  6. Откройте вам Azure DNS-зону и создайте новый домен (или отредактируйте один)
  7. Установите «Набор записей псевдонимов: Да» затем «Тип псевдонима: Ресурс»
  8. В разделе «Azure Ресурс» найдите ресурс с идентификатором ResourceId, найденным на шаге 5, и выберите его.
  9. Сохранить

Теперь это должно работать.

0 голосов
/ 22 января 2020

Вижу, ваша цель - создать AKS с внутренним Ingress Nginx и использовать собственный DNS. И я вижу ваш внешний IP Ingress 10.240.0.42. Кажется, это частный IP-адрес su bnet, в котором вы используете узлы AKS.

Так что я думаю, что вам нужно создать Azure Application Gateway или Azure Load Balancer для маршрутизации вашего запроса от Inte rnet на ваш внутренний интерфейс Ingress Nginx. И запись A также должна быть изменена, вам нужно изменить IP-адрес на publi c IP того, который вы выбираете из Azure Application Gateway и Azure Load Balancer. Я думаю, что вы знаете, что вам нужно обновить настройки DNS на DNS-сервере, на котором вы DNS.

Когда все будет сделано. Путь маршрутизации запросов будет выглядеть следующим образом:

  1. Inte rnet (ваш пользовательский DNS)
  2. Azure DNS-сервер
  3. Azure Publi c IP-адрес шлюза приложений или балансировщика нагрузки (это то, что, я думаю, вы пропустили)
  4. 10.240.0.42 (вход Nginx внутренний IP)
  5. AKS Ingress Nginx
  6. Служба
  7. Развертывание или Pod
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...