我正在学习 Helm charts,我遇到了无法在集群中创建 Azure 资源(例如入口外部 IP 地址)的情况,因为它无法通过特定策略。我们有一个 azure 政策,要求任何创建的云资源都有一个特定的标签。
是否可以在 helm chart 中为底层云资源设置标签?
如果是这样,怎么办?
答案 0 :(得分:1)
对于创建直接底层云资源(例如入口上的外部 IP 地址)的掌舵图,似乎无法创建标签。如果您的策略需要标签来识别所有者或创建或其他任何内容,这将是一个挑战。在这种情况下,服务停留在 <pending>
模式和 kubectl get events --all-namespaces
显示策略失败。
我已经找到(但仍需测试)的解决方法是使用门户、CLI 或 Terraform 创建资源 a priori
并分配标签。然后,当您部署 helm chart 时,您会在 values.yaml 中使用覆盖。
例如:
helm install nginx-ingress --set service.loadBalancerIP=<my ip>
我仍然需要弄清楚 Terraform 如何创建 IP 的细节,然后我以编程方式获取生成的值并将其植入 values.html,但是当我到达它时我会烧掉那座桥。 =)
感谢所有回复的人。