Skip to main content

Azure Kubernetes Service (AKS) Cluster using the native Azure Provider

A minimal Azure Native Pulumi YAML 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-yaml-aks-managed-identity
cd pulumi-examples/azure-yaml-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.

Deploying the App#

To deploy your infrastructure, follow the below steps.

Prerequisites#

  1. Install Pulumi
  2. Configure Azure Credentials

Steps#

After cloning this repo, from this working directory, run these commands:

  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:

    $ pulumi config set azure-native:location westus2
  3. Stand up the cluster by invoking pulumi

    Terminal window
    pulumi up
  4. 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
  5. From there, feel free to experiment. Simply making edits and running pulumi up will incrementally update your stack.

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

    Terminal window
    pulumi destroy --yes
    pulumi stack rm --yes

Related

The infrastructure as code platform for any cloud.