loadBalancerIP и аннотации в nginx-ingress fluxcd HelmRelease игнорируются в Azure AKS
Я работаю в кластере Azure AKS, где fluxcd
работает правильно. Я пытаюсь настроитьnginx-ingress
диаграмму через fluxcd CDR HelmRelease. В частности, чтобы указать nginx-ingress использовать уже созданный статический общедоступный IP-адрес, который находится в другой группе ресурсов в качестве группы ресурсов узла AKS.
Основной субъект службы AKS имеет роль участника сети в группе ресурсов, в которой находится IP.
При использовании следующего конфигурационного файла HelmRelease свойство loadBalancerIP (а также любые аннотации) игнорируется, и создается новый общедоступный IP-адрес в Azure, который назначается подсистеме балансировки нагрузки Azure.
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: helm-nginx-ingress
namespace: nginx-ingress
spec:
releaseName: nginx-ingress
targetNamespace: nginx-ingress
chart:
repository: https://kubernetes-charts.storage.googleapis.com/
name: nginx-ingress
version: 1.24.4
values:
controller.service:
loadBalancerIP: "12.234.162.41"
annotations:
service.beta.kubernetes.io/azure-load-balancer-resource-group: "name-of-resource-group"
Чтобы упростить задачу, я также попробовал использовать IP-адрес, который напрямую находится в той же группе ресурсов, что и узлы AKS (безрезультатно). Кстати: никаких ошибок не бывает. Он просто игнорирует свойство и создает новый ip.
Достаточно интересно, что выпуск той же диаграммы с Helm 3 напрямую (то есть без fluxcd) работал отлично, даже с особым случаем, когда ip не находится в той же группе ресурсов:
helm upgrade nginx-ingress --install --wait --namespace nginx-ingress \
--set controller.service.loadBalancerIP="12.234.162.41" \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"="name-of-resource-group" \
stable/nginx-ingress
Итак, я предполагаю, что проблема где-то в CDR HelmRelease и переводе спецификации значений. Есть ли у кого-нибудь подобные проблемы?
AKS Kubernetes Версия: v1.14.8
fluxcd / flux image tag: 1.17.0
Локальная версия Helm: v3.0.3
1 ответ
Должно быть так:
values:
controller:
service:
loadBalancerIP: "12.234.162.41"
xxx
https://github.com/helm/charts/blob/master/stable/nginx-ingress/values.yaml