Azure Kubernetes — AKS — версия K8s — 1.20.9.
Попытка настроить несколько входов nginx с помощью Internal LB.
входной контроллер с входным классом -
helm установить test1 ingress-nginx/ingress-nginx \
--set controller.replicaCount=1 \
--set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set controller.ingressClassResource.name=test1 \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true
после установки сервисов LB и класса Ingress созданы.
оказание услуг -
test1-вход-nginx-контроллер LoadBalancer 10.0.52.125 10.240.0.4 80:32472/TCP, 443:30586/TCP 4h9m
test1-ingress-nginx-controller-admission ClusterIP 10.0.32.211 <нет> 443/TCP 4h9m
IngressClass -
НАИМЕНОВАНИЕ ПАРАМЕТРЫ КОНТРОЛЛЕРА ВОЗРАСТ
test1 k8s.io/test1 <нет> 155 м
Входной файл
apiVersion: расширения/v1beta1
вид: Вход
метаданные:
имя: привет-мир-вход-мой-внешний
аннотации:
nginx.ingress.kubernetes.io/ssl-redirect: «ложь»
nginx.ingress.kubernetes.io/rewrite-target:/
спецификация:
ingressClassName: test1
правила:
- хост: test1.com
http:
пути:
- бэкэнд:
serviceName: акс-helloworld
сервисПорт: 80
путь: /приложение(.*)
- бэкэнд:
serviceName: вход-демо
сервисПорт: 80
путь: /hello-world-two(/|$)(.*)
Ингресс-2
apiVersion: расширения/v1beta1
вид: Вход
метаданные:
имя: привет-мир-вход-мой-внешний
аннотации:
nginx.ingress.kubernetes.io/ssl-redirect: «ложь»
nginx.ingress.kubernetes.io/rewrite-target:/
спецификация:
ingressClassName: test2
правила:
- хост: test2.com
http:
пути:
- бэкэнд:
serviceName: привет мир
сервисПорт: 80
путь: /приложение(.*)
- бэкэнд:
имя_сервиса: демо
сервисПорт: 80
путь: /привет(/|$)(.*)
после создания ingress показывается только первый ip
НАЗВАНИЕ КЛАСС ХОСТИ АДРЕС ПОРТЫ ВОЗРАСТ
внешний вход test1 test4.com 10.0.240.6 80 67 м
привет-мир-вход-мой-внешний test2 test3.com 10.0.240.6 80 104
Трафик не обновляется на основе IngressClass. пожалуйста, помогите, почему один и тот же ip для всех входов? также как можно обслуживать трафик на основе класса входа?
Заранее спасибо.
ОБНОВИТЬ - Я могу управлять трафиком с множественным входом после обновления
--set controller.ingressClass=тест \
--set controller.ingressClassResource.name=test --set controller.ingressClassResource.controllerValue="k8s.io/test-controller"
последняя команда штурвала
helm install test1 ingress-nginx/ingress-nginx --set controller.ingressClass=test1 --set controller.ingressClassResource.name=test1 --set controller.ingressClassResource.controllerValue="k8s.io/test1-controller" \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true
Все еще Ingress не показывает ip
НАЗВАНИЕ КЛАСС ХОСТИ АДРЕС ПОРТЫ ВОЗРАСТ
внешний вход test1 test3.com 80 19 м
привет-мир-вход-мой-внешний test2 test1.com 80 33м