Get cluster ca certificate Azure ARM template ManagedClusters

Viewed 147

How can I get the cluster ca certificate from the arm template for some ManagedClusters?

In terraform we use:

azurerm_kubernetes_cluster.aks_cluster.kube_config.0.cluster_ca_certificate

But in ARM I can't find it anywhere.

Can you please give some help?

Thanks

1 Answers

My solution:

  "resources": [
    {
        "type": "Microsoft.Resources/deploymentScripts",
        "apiVersion": "2019-10-01-preview",
        "name": "get-cluster-ca",
        "location": "[resourceGroup().location]",
        "identity": {
          ....
          }
        },
        "kind": "AzureCLI",
                "azCliVersion": "2.0.80",
                "environmentVariables": [
                    {
                        "name": "RESOURCE_GROUP_NAME",
                        "value": "[resourceGroup().name]"
                    },
                    {
                        "name": "CLUSTER_NAME",
                        "value": "[variables('cluster_name')]"
                    }
                ],
                "scriptContent": "#!/bin/bash\r\n\r\naz aks get-credentials --resource-group ${RESOURCE_GROUP_NAME} --name ${CLUSTER_NAME}\r\n\r\naz aks install-cli\r\n\r\necho '{\"ca\":' $(kubectl config view --raw -o json | jq -c '.clusters[0].cluster.\"certificate-authority-data\"') > $AZ_SCRIPTS_OUTPUT_PATH\r\n",
                "timeout": "PT30M",
                "cleanupPreference": "OnSuccess",
                "retentionInterval": "P1D"
    }
  ],
  "outputs": {
    "result": {
      "value": "[reference('get-cluster-ca').outputs.ca]",
      "type": "string"
    }
  }
Related