Skip to main content

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

A minimal Azure AKS TypeScript Pulumi 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-ts-aks
cd pulumi-examples/azure-ts-aks

This example deploys an AKS cluster, creates an Azure Active AD application, creates a Service Principal and sets credentials to manage access to the cluster.

Prerequisites#

  1. Install Pulumi
  2. Configure Azure credentials
  3. Install Node.js

Deploying the example#

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 to deploy into:

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

    Terminal window
    npm install
  4. Stand up the cluster with 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. Save this kubeconfig to a file:

    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.