#kubernetes #kubernetes-ingress #nginx-ingress
#kubernetes #kubernetes-вход #nginx-вход
Вопрос:
Итак, в настоящее время у меня есть 2 службы в пространстве имен под названием «разработка», которым необходимо обрабатывать внешний трафик, и в настоящее время они используют type:LoadBalancer и имеют свои собственные внешние IP-адреса и записи DNS.
Я хочу начать использовать входной контроллер (nginx), развернутый в отдельном пространстве имен (называемом «ingress-controller»), и у меня есть несколько вопросов о том, как будет выглядеть конечное состояние
Итак, если я правильно понимаю, я должен сначала создать вход в пространстве имен «development», затем создать развертывание ingress и службу внешнего типа: LoadBalancer в пространстве имен «ingress-controller» и настроить DNS-запись для внешнего IP-адреса службы ingress controller. Затем мне нужно изменить исходные 2 службы в пространстве имен «разработка» на ClusterIP, которые теперь будут получать трафик из-за правила входа.
Как будут работать имена хостов? Скажем, у моей первой службы была DNS-запись «foo.com «, вторая служба была вызвана «bar.com «, могу ли я настроить правила входа для маршрутизации запросов в 2 разных домена?
Ответ №1:
Вы уже хорошо разбираетесь в ingress. Теперь вам нужно использовать external-dns.
Это создаст для вас DNS, который вы укажете в своем входе. Например.
- host: foo.com
http:
paths:
- path: /*
backend:
serviceName: <your service name>
servicePort: 80
Комментарии:
1. Таким образом, это означает, что external-dns в основном создаст запись для foo.com для сопоставления с IP-адресом службы ingress controller правильно?
2. @Jatinshravan: Да. Я использую балансировщик нагрузки между dns и сервисом
Ответ №2:
Теперь, когда вы уже создали правило входа, осталось установить DNS-запись «foo.com » и «bar.com » на внешний IP-адрес службы ingress controller.