[Rancher] Azure cloud credentials

Ter lering ende vermaeck‘ wil ik in mijn on-premise Rancher Management clusters een Azure K8s cluster toevoegen. Om dat te doen is een ‘Cloud Credential‘ nodig voor Azure. Er zijn gratis trial subscriptions mogelijk voor Azure en daar maak ik dan ook gebruik van: https://azure.microsoft.com/nl-nl/free/

Nadat een subscription is aangemaakt in Azure kun je via de Azure-portal allerlei ‘Resources’ aanmaken maar dat kan ook via een terminal op een lokale computer. Hiervoor installeer je dan de ‘Azure CLI’.

Via een terminal:

$ az login

Hiermee wordt een Azure login getoond in een browser en na succesvol inloggen verschijnen de subscription-details op het scherm.

Om resources te maken is een ‘ResourceGroup‘ nodig en die wordt aangemaakt met:

$ az group create --name rancher --location westeurope

De Cloud Credential die nodig is voor Kubernetes clusters wordt vervolgens aangemaakt in een ‘Service Principal‘.

Een Azure-service-principal is een identiteit die is gemaakt om toepassingen, gehoste services en geautomatiseerde hulpprogramma’s toegang te geven tot Azure-resources.

$ az ad sp create-for-rbac \
  --scope /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP \
  --role Contributor

Waarbij SUBSCRIPTION_ID uit het ‘az login‘ resultaat komt en de RESOURCE_GROUP is de naam die in de vorige stap is aangemaakt. De uitvoer van dit commando geeft o.a. de volgende waardes:

  • appId
  • password

Uit eerdere commando’s is er dan ook de

  • Subscription_id

Met deze drie waardes kan nu in Rancher een ‘Cloud Credential‘ aangemaakt worden voor Azure.

Subscription ID = subscription_id
Client ID = appId
Client Secret = password

Zodra de Cloud Credential is aangemaakt kan een Azure Kubernetes cluster (AKS) aangemaakt worden.

In een Azure-managed cluster krijg je als gebruiker de beschikking over Worker-nodes voor de deployments, de Control Plane is in beheer bij Azure.

Indien je beiden in eigen beheer wilt hebben dan kan een RKE provided cluster aangemaakt worden. In Rancher is er de keuze uit beide mogelijkheden: