【发布时间】:2021-09-10 15:25:27
【问题描述】:
目标:针对 Azure kubernetes 集群部署 helm chart Terraform。图表必须从 Azure 容器注册表中提取。
将掌舵图推送到 ACR 的步骤:
helm 注册表登录命令: echo $sp密码 | helm registry login .azurecr.io --username --password-stdin
掌舵保存图表到本地 在包含 helm chart.yml、values.yaml 和其他目录的目录中: 掌舵图保存。 .azurecr.io/:
helm 推送图表到 Azure 容器存储库 掌舵推.azurecr.io/:
我能够从注册表中提取图表,再次导出到本地并可以成功手动安装。
接下来使用基于 Terraform 的部署方法。下面是sn-p使用的代码:
provider "azurerm" {
version = "~>2.0"
features {}
}
data "azurerm_kubernetes_cluster" "credentials" {
name = "k8stest"
resource_group_name = "azure-k8stest"
}
provider "helm" {
kubernetes {
host = data.azurerm_kubernetes_cluster.credentials.kube_config.0.host
client_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_certificate)
client_key = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_key)
cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.cluster_ca_certificate)
}
}
resource "helm_release" "test-tf" {
name = "test-twinkle"
repository = "https://<myacrname>.azurecr.io/helm/v1/repo"
repository_username = <serviceprincipal appid>
repository_password = <serviceprincipal password>
chart = <chart name with which it was pushed to ACR>
version = <chart version with which it was pushed to ACR>
namespace = "test-dev"
create_namespace = "true"
}
错误: 在存储库中找不到图表版本。
【问题讨论】:
标签: kubernetes-helm azure-aks terraform-provider-azure azure-container-registry