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

Другие вопросы по тегам