Quantcast
Channel: User Giulio Vian - Stack Overflow
Viewing all articles
Browse latest Browse all 38

Answer by Giulio Vian for How to give permissions to AKS to access ACR via terraform?

$
0
0

This code worked for me.

resource "azuread_application""aks_sp" {  name = "sp-aks-${local.cluster_name}"}resource "azuread_service_principal""aks_sp" {  application_id               = azuread_application.aks_sp.application_id  app_role_assignment_required = false}resource "azuread_service_principal_password""aks_sp" {  service_principal_id = azuread_service_principal.aks_sp.id  value                = random_string.aks_sp_password.result  end_date_relative    = "8760h" # 1 year  lifecycle {    ignore_changes = [      value,      end_date_relative    ]  }}resource "azuread_application_password""aks_sp" {  application_object_id = azuread_application.aks_sp.id  value                 = random_string.aks_sp_secret.result  end_date_relative     = "8760h" # 1 year  lifecycle {    ignore_changes = [      value,      end_date_relative    ]  }}data "azurerm_container_registry""pyp" {  name                = var.container_registry_name  resource_group_name = var.container_registry_resource_group_name}resource "azurerm_role_assignment""aks_sp_container_registry" {  scope                = data.azurerm_container_registry.pyp.id  role_definition_name = "AcrPull"  principal_id         = azuread_service_principal.aks_sp.object_id}# requires Azure Provider 1.37+resource "azurerm_kubernetes_cluster""pyp" {  name                = local.cluster_name  location            = azurerm_resource_group.pyp.location  resource_group_name = azurerm_resource_group.pyp.name  dns_prefix          = local.env_name_nosymbols  kubernetes_version  = local.kubernetes_version  default_node_pool {    name            = "default"    node_count      = 1    vm_size         = "Standard_D2s_v3"    os_disk_size_gb = 80  }  windows_profile {    admin_username = "winadm"    admin_password = random_string.windows_profile_password.result  }  network_profile {    network_plugin     = "azure"    dns_service_ip     = cidrhost(local.service_cidr, 10)    docker_bridge_cidr = "172.17.0.1/16"    service_cidr       = local.service_cidr    load_balancer_sku  = "standard"  }  service_principal {    client_id     = azuread_service_principal.aks_sp.application_id    client_secret = random_string.aks_sp_password.result  }  addon_profile {    oms_agent {      enabled                    = true      log_analytics_workspace_id = azurerm_log_analytics_workspace.pyp.id    }  }  tags = local.tags}

source https://github.com/giuliov/pipeline-your-pipelines/tree/master/src/kubernetes/terraform


Viewing all articles
Browse latest Browse all 38

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>