Using managed AKS clusters

Initial setup

Create your ACR registry

If you already have an ACR registry up and ready, you can skip to the next section.

Follow the Azure documentation on how to create your ACR registry. We recommend that you pay extra attention to the pricing plan since it is directly related to the registry storage capacity.

Install the AKS plugin

Install the AKS plugin from the store.

Prepare your local az, docker and kubectl commands

Follow the Azure documentation to make sure that:

  • Your local (on the DSS machine) az command is properly logged in. As of October 2019, this implies running the az login --service-principal --username client_d --password client_secret --tenant tenant_id command.
  • Your local (on the DSS machine) docker command can successfully push images to the ACR repository. As of October 2019, this implies running the az acr login --name your-registry-name.
  • Your local (on the DSS machine) kubectl command can interact with the cluster. As of October 2019, this implies running the az aks get-credentials --resource-group your-rg --name your-cluster-name command.

Create base images

Build the base image as indicated in Setting up (Kubernetes).

Create a new containerized execution configuration

In Administration > Settings > Containerized execution add a new configuration of type “Kubernetes”.

In Azure, the image registry URL must be of the form your-registry-name.azurecr.io.

Click on “Push base images.”

Cluster configuration

  • The connection is where you define how to connect to Azure. This can be done either inline in each cluster (not recommended) or via a preset in the “AKS connection” plugin settings (recommended).
  • By default, the service principal associated to the cluster will be the same as the one used on the DSS machine. You can change this by enabling the Use distinct credentials option and define a specific connection, either inline or via a preset.
  • Cluster nodes: this is where you define the number and type of nodes you want in your cluster. You can define the properties of a node pool either inline (not recommended) or as a preset in the “Node pools” plugin settings (recommended). You have the possibility to define multiple node pools, each with its own properties.