Skip to main content

Azure Kubernetes Service (AKS) cluster using the native Azure provider

A minimal Azure Native Pulumi GO program

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set azure-go-aks-managed-identity
cd pulumi-examples/azure-go-aks-managed-identity

This example deploys an AKS cluster, creates an Azure User Assigned Managed Identity, and sets credentials to manage access to the cluster.

Prerequisites#

  1. Install Pulumi
  2. Configure Azure credentials
  3. Install Go

Deploying the example#

  1. Create a new stack, which is an isolated deployment target for this example:

    Terminal window
    pulumi stack init dev
  2. Set the Azure region location to use:

    Terminal window
    pulumi config set azure-native:location westus2
  3. Install dependencies:

    Terminal window
    go mod download
  4. Stand up the cluster by running pulumi up:

    Terminal window
    pulumi up
  5. After 3-4 minutes, your cluster will be ready, and the kubeconfig YAML you’ll use to connect to the cluster will be available as an Output. You can save this kubeconfig to a file like so:

    Terminal window
    pulumi stack output kubeconfig --show-secrets > kubeconfig.yaml

    Once you have this file in hand, you can interact with your new cluster as usual via kubectl:

    Terminal window
    KUBECONFIG=./kubeconfig.yaml kubectl get nodes
  6. From there, feel free to experiment. Simply making edits and running pulumi up will incrementally update your stack.

Cleaning up#

Once you’ve finished experimenting, tear down your stack’s resources by destroying and removing it:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.