通过Terraform Helm提供程序和Azure DevOps部署Helm图表,同时从ACR中获取Helm图表

问题描述 投票:0回答:1

我正在尝试使用Terraform掌舵提供程序和Azure DevOps容器作业将ACR掌舵图部署到AKS群集,但是在从ACR提取掌舵图时失败。请让我知道怎么了。

helm provider tf模块:

data "helm_repository" "cluster_rbac_helm_chart_repo" {
  name = "mcp-rbac-cluster"
  url  = "https://mcpshareddcr.azurecr.io"
}
# Deploy Cluster RBAC helm chart onto the cluster
resource "helm_release" "cluster_rbac_helm_chart_release" {
  name  = "mcp-rbac-cluster"
  repository = data.helm_repository.cluster_rbac_helm_chart_repo.metadata[0].name
  chart = "mcp-rbac-cluster"
}

提供者:

  version                    = "=1.36.0"
  tenant_id                  = var.ARM_TENANT_ID
  subscription_id            = var.ARM_SUBSCRIPTION_ID
  client_id                  = var.ARM_CLIENT_ID
  client_secret              = var.ARM_CLIENT_SECRET
  skip_provider_registration = true
}

data "azurerm_kubernetes_cluster" "aks_cluster" {
  name                = var.aks_cluster
  resource_group_name = var.resource_group_aks
}

locals {
  kubeconfig_path = "/tmp/kubeconfig"
}

resource "local_file" "kubeconfig" {
  filename = local.kubeconfig_path
  content  = data.azurerm_kubernetes_cluster.aks_cluster.kube_admin_config_raw
}

provider "helm" {
  home = "resources/.helm"
  kubernetes {
    load_config_file = true
    config_path = local.kubeconfig_path
  }
}

module "aks_resources" {
  source = "./modules/helm/aks-resources"
}

错误:错误:看起来像“ ”无效或无法访问:无法获取/ index.yaml:404未找到

azure-devops terraform kubernetes-helm terraform-provider-azure azure-container-registry
1个回答
0
投票

问题是您在Terraform helm_repository中使用了错误的url。 ACR的右侧url如下所示:

https://acrName.azurecr.io/helm/v1/repo

而且ACR是一个私有注册表,因此,您需要为其添加用户名和密码。最后,您的Terraform代码应如下所示:

data "helm_repository" "cluster_rbac_helm_chart_repo" {
  name = "mcp-rbac-cluster"
  url  = "https://mcpshareddcr.azurecr.io/helm/v1/repo"

  username = "xxxxx"
  password = "xxxxx"
}

# Deploy Cluster RBAC helm chart onto the cluster
resource "helm_release" "cluster_rbac_helm_chart_release" {
  name  = "mcp-rbac-cluster"
  repository = data.helm_repository.cluster_rbac_helm_chart_repo.metadata[0].name
  chart = "mcp-rbac-cluster"
}
© www.soinside.com 2019 - 2024. All rights reserved.