我是在Azure集群上操作的,在这里fluxcd正在正常工作。我正在尝试通过fluxcd CDR HelmRelease配置nginx-ingress图表。具体来说,告诉nginx入口使用已经创建的静态公共IP,它作为AKS节点资源组位于另一个资源组中。
基础AKS服务主体在ip所在的资源组中具有网络贡献者角色。
当使用以下HelmRelease配置文件时,将忽略loadBalancerIP属性(以及任何注释),并在azure中创建一个分配给azure负载均衡器的新公共IP。
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
磁通/通量图像标签: 1.17.0
本地Helm版本: v3.0.3
发布于 2020-02-02 08:09:13
应该是这样:
values:
controller:
service:
loadBalancerIP: "12.234.162.41"
xxxhttps://github.com/helm/charts/blob/master/stable/nginx-ingress/values.yaml#L246
https://stackoverflow.com/questions/60007179
复制相似问题