Tutoriel : Créer un cluster avec Azure Linux avec OS Guard (préversion) pour Azure Kubernetes Service (AKS)

Note

Azure Linux avec OS Guard (préversion) est remplacé par Azure Container Linux (ACL).

Azure Container Linux est le système d’exploitation Linux à long terme, immuable et optimisé pour les conteneurs pour Azure Kubernetes Service (AKS). Il fournit un système d’exploitation hôte sécurisé, minimal et opérationnel conçu pour exécuter des charges de travail conteneurisées à grande échelle.

Pour plus d’informations, consultez la vue d’ensemble de Azure Container Linux (ACL) .

Dans ce tutoriel, partie une sur cinq, vous apprendrez à :

  • Installer l’interface CLI Kubernetes, kubectl.
  • Installez l’extension aks-preview Azure CLI.
  • Enregistrez l’indicateur de fonctionnalité AzureLinuxOSGuardPreview.
  • Création d’un groupe de ressources Azure.
  • Créez et déployez un cluster Azure Linux avec OS Guard.
  • Configurez kubectl pour vous connecter à votre linux Azure avec le cluster OS Guard.

Dans les didacticiels ultérieurs, vous allez apprendre à ajouter un pool de nœuds Azure Linux avec OS Guard à un cluster existant et à migrer des nœuds existants vers Azure Linux avec OS Guard.

Prerequisites

Azure Linux : considérations et limites d’OS Guard

Avant de commencer, passez en revue les considérations et limitations suivantes pour Azure Linux avec OS Guard (préversion) :

  • Kubernetes version 1.32.0 ou ultérieure est nécessaire pour Azure Linux avec OS Guard.
  • Toutes les images Azure Linux avec protection du système d’exploitation ont Federal Information Process Standard (FIPS) et Lancement fiable activé.
  • Les modèles Azure CLI et ARM sont les seules méthodes de déploiement prises en charge pour Azure Linux avec OS Guard sur AKS en préversion. PowerShell et Terraform ne sont pas pris en charge.
  • Les images Arm64 ne sont pas prises en charge avec Azure Linux avec protection du système d’exploitation sur AKS en préversion.
  • NodeImage et None sont les seuls canaux de mise à niveau du système d’exploitation (OS) pris en charge pour Azure Linux avec OS Guard sur AKS. Unmanaged et SecurityPatch sont incompatibles avec Azure Linux avec OS Guard en raison du répertoire /usr immuable.
  • Le streaming d’artéfacts n’est pas pris en charge.
  • Le sandboxing des pods n’est pas pris en charge.
  • Les machines virtuelles confidentielles ne sont pas prises en charge.
  • Les machines virtuelles gen 1 ne sont pas prises en charge.

Installer l’extension aks-preview Azure CLI

Important

Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions d'essai sont fournies « en l’état » et « selon disponibilité », et elles sont exclues des contrats de niveau de service et de la garantie limitée. Les versions préliminaires AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :

Installez l'extension aks-preview à l'aide de la commande az extension add.

az extension add --name aks-preview

Mettez à jour vers la dernière version de l’extension à l’aide de la commande az extension update.

az extension update --name aks-preview

Inscrire l’indicateur de fonctionnalité AzureLinuxOSGuardPreview

  1. Inscrivez l’indicateur de fonctionnalité AzureLinuxOSGuardPreview à l’aide de la commande az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    Quelques minutes sont nécessaires pour que l’état s’affiche Registered (Inscrit).

  2. Vérifiez l’état de l’inscription en utilisant la commande az feature show.

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    
  3. Lorsque l’état reflète Inscrit, actualisez l’inscription du fournisseur de ressources en utilisant la commande Microsoft.ContainerService.

    az provider register --namespace "Microsoft.ContainerService"
    

Définir des variables d’environnement

Définissez les variables d’environnement suivantes pour créer des noms de ressources uniques pour chaque déploiement :

export RESOURCE_GROUP="<your-resource-group-name>"
export REGION="<your-region>"
export CLUSTER_NAME="<your-cluster-name>"

Créer un groupe de ressources

Lors de la création d'un groupe de ressources dans Azure, vous devez spécifier un emplacement. Cet emplacement est l'emplacement de stockage de vos métadonnées de groupe de ressources et où vos ressources s'exécutent dans Azure si vous ne spécifiez pas une autre région lors de la création d'une ressource.

Créez un groupe de ressources à l’aide de la commande az group create.

az group create --name $RESOURCE_GROUP --location $REGION

Exemple de sortie :

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxOSGuardResourceGroupxxxxx",
  "location": "EastUS2",
  "managedBy": null,
  "name": "testAzureLinuxOSGuardResourceGroupxxxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Créer un cluster Azure Linux avec OS Guard (préversion)

Créez un cluster AKS à l’aide de la az aks create commande avec le --os-sku AzureLinuxOSGuard paramètre pour approvisionner un cluster Azure Linux avec OS Guard. L’activation de FIPS, démarrement sécurisé et vtpm est nécessaire pour utiliser Azure Linux avec OS Guard.

az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm

Exemple de sortie :

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxOSGuardResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/testAzureLinuxOSGuardClusterxxxxx",
  "location": "WestUS2",
  "name": "testAzureLinuxOSGuardClusterxxxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "type": "Microsoft.ContainerService/managedClusters"
}

Au bout de quelques minutes, la commande se termine et retourne des informations au format JSON sur le cluster.

Se connecter au cluster à l’aide de kubectl

  1. Configurez kubectl afin de vous connecter à votre cluster Kubernetes avec la commande az aks get-credentials.

    az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Vérifiez la connexion à votre cluster à l’aide de la kubectl get nodes commande pour renvoyer une liste des nœuds du cluster.

    kubectl get nodes
    

    Exemple de sortie :

    NAME                           STATUS   ROLES   AGE     VERSION
    aks-nodepool1-00000000-0       Ready    agent   10m     v1.20.7
    aks-nodepool1-00000000-1       Ready    agent   10m     v1.20.7
    

Étape suivante

Dans ce tutoriel, vous avez créé et déployé un cluster Azure Linux avec OS Guard. Dans le tutoriel suivant, vous allez apprendre à ajouter un pool de nœuds Azure Linux avec OS Guard à un cluster existant.