Azure Kubernetes Service (AKS)

Azure Public Test Date Azure Public Test Result

Azure US Gov Last Test Date Azure US Gov Last Test Result

Best Practice Check Cred Scan Check

Bicep Version

Deploy To Azure Deploy To Azure US Gov Visualize

This template deploys a managed Azure hosted Kubernetes cluster via Azure Kubernetes Service (AKS) with Virtual Machine Scale Sets Agent Pool and System-assigned managed identity.

VMSS based agent pools gives AKS cluster auto-scaling capabilities. See https://docs.microsoft.com/azure/aks/cluster-autoscaler#about-the-cluster-autoscaler for detailed information about cluster auto-scaler.

System-assigned managed identity, frees up an operational cost by taking care of the identity component of Kubernetes cluster resource, and allows for a improved seamless CI/CD automation, by removing service principal prerequisite, and the long term secret rotation operations of the credential.

Sample overview and deployed resources

This is an overview of the solution

The following resources are deployed as part of the solution

Resource provider Microsoft.ContainerService

Description Resource Provider Microsoft.ContainerService

  • Resource type managedClusters: Azure Kubernetes Service Managed Cluster

This deployment will also create another Managed Resource Group with name MC_#{AksResourceGroupName}#_#{YourAksClusterName}#_#{AksResourceLocation}# which will be managed by the cluster and used to provision cluster resources.

Deployment steps

You can click the "deploy to Azure" button at the beginning of this document or follow the instructions for command line deployment using the scripts in the root of this repo.

Usage

Connect

How to connect to the solution

The template deployment will output controlPlaneFQDN value while will be the Kubernetes API endpoint for the cluster.

Sample Output:

Outputs:
Name                Type                       Value
==================  =========================  ==========
controlPlaneFQDN    String                     #{Your DNS Prefix}#-a38a5fa0.hcp.#{AksResourceLocation}#.azmk8s.io

Management

How to manage the solution

To get your credentials for your kubectl-cli you can use the Azure CLI command:

az aks get-credentials --name MyManagedCluster --resource-group MyResourceGroup

Notes

Solution notes

Tags: AKS, Azure Kubernetes Service, Virtual Machine Scale Sets, Microsoft.ContainerService/managedClusters, SystemAssigned, VirtualMachineScaleSets