我正在尝试通过terraform将舵图部署到中国的Azure Kubernetes Service。问题是我无法从k8s.gcr.io/ingress nginx拉取镜像。我需要按照https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy中的描述指定一个代理,但是我不知道如何通过terraform来做到这一点。在西欧,我的资源看起来就像
resource "helm_release" "nginx_ingress" {
name = "ingress-nginx"
chart = "ingress-nginx"
repository = "https://kubernetes.github.io/ingress-nginx"
namespace = kubernetes_namespace.nginx_ingress.metadata[0].name
set {
name = "controller.service.annotations.service\\.beta\\.kubernetes\\.io/azure-load-balancer-resource-group"
value = azurerm_public_ip.nginx_ingress_pip.resource_group_name
}
set {
name = "controller.service.loadBalancerIP"
value = azurerm_public_ip.nginx_ingress_pip.ip_address
}
}如何获取其中的代理设置?任何帮助都是非常感谢的。
发布于 2021-03-11 22:55:29
事实证明,我在弄清楚如何以正确的方式修改舵图时遇到了一些问题,而且解决方案并不完全是代理配置,而是直接使用不同的存储库来获取图像。这是可行的:
resource "helm_release" "nginx_ingress" {
name = "ingress-nginx"
chart = "ingress-nginx"
repository = "https://kubernetes.github.io/ingress-nginx"
namespace = kubernetes_namespace.nginx_ingress.metadata[0].name
set {
name = "controller.service.annotations.service\\.beta\\.kubernetes\\.io/azure-load-balancer-resource-group"
value = azurerm_public_ip.nginx_ingress_pip.resource_group_name
}
set {
name = "controller.service.loadBalancerIP"
value = azurerm_public_ip.nginx_ingress_pip.ip_address
}
set {
name = "controller.image.repository"
value = "k8sgcr.azk8s.cn/ingress-nginx/controller"
}
}无论如何,感谢您的投入!
发布于 2021-03-11 15:46:34
AFIK,Helm provider for terraform尚不支持代理设置。在此线程下有一个拉取请求正在讨论:https://github.com/hashicorp/terraform-provider-helm/issues/552
在实现此功能之前,您可以考虑其他临时解决方法,如在您的terraform存储库和reference it from the helm provider上复制图表。
https://stackoverflow.com/questions/66573858
复制相似问题