Partager via


Créer un cluster privé Azure Red Hat OpenShift 4

Dans cet article, vous allez préparer votre environnement pour créer des clusters privés Azure Red Hat OpenShift exécutant OpenShift 4. Vous allez découvrir comment :

  • Préparer les éléments requis et créer le réseau virtuel et ses sous-réseaux nécessaires
  • Déployer un cluster avec un point de terminaison de serveur d’API privé et un contrôleur d’entrée privé

Si vous choisissez d’installer et d’utiliser l’interface de ligne de commande localement, ce tutoriel vous demande d’exécuter Azure CLI version 2.30.0 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Avant de commencer

Inscrire les fournisseurs de ressources

  1. Si vous possédez plusieurs abonnements Azure, indiquez l’ID d’abonnement pertinent :

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Inscrivez le fournisseur de ressources Microsoft.RedHatOpenShift :

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Inscrivez le fournisseur de ressources Microsoft.Compute (si ce n’est déjà fait) :

    az provider register -n Microsoft.Compute --wait
    
  4. Inscrivez le fournisseur de ressources Microsoft.Network (si ce n’est déjà fait) :

    az provider register -n Microsoft.Network --wait
    
  5. Inscrivez le fournisseur de ressources Microsoft.Storage (si ce n’est déjà fait) :

    az provider register -n Microsoft.Storage --wait
    

Récupération d’un secret d’extraction Red Hat (facultatif)

Un secret d’extraction Red Hat permet au cluster d’accéder à des registres de conteneurs Red Hat et à du contenu supplémentaire. Cette étape est facultative mais recommandée.

  1. Accédez à votre portail de gestion des clusters Red Hat OpenShift et connectez-vous.

    Vous devrez vous connecter à votre compte Red Hat existant ou créer un compte Red Hat en utilisant votre adresse e-mail professionnelle et accepter les conditions générales.

  2. Cliquez sur Download pull secret (Télécharger le secret d’extraction).

Conservez le fichier pull-secret.txt enregistré à un emplacement sûr, car vous en aurez besoin lors de la création de chaque cluster.

Lors de l’exécution de la commande az aro create, vous pouvez référencer votre secret d’extraction à l’aide du paramètre --pull-secret @pull-secret.txt. Exécutez az aro create à partir du répertoire où vous avez stocké votre fichier pull-secret.txt. Sinon, remplacez @pull-secret.txt par @<path-to-my-pull-secret-file.

Si vous copiez votre secret d’extraction, ou que vous le référencez dans d’autres scripts, il doit être au format d’une chaîne JSON valide.

Créer un réseau virtuel contenant deux sous-réseaux vides

Vous allez ensuite créer un réseau virtuel contenant deux sous-réseaux vides.

  1. Définissez les variables suivantes.

    LOCATION=eastus                 # the location of your cluster
    RESOURCEGROUP="v4-$LOCATION"    # the name of the resource group where you want to create your cluster
    CLUSTER=aro-cluster             # the name of your cluster
    
  2. Créer un groupe de ressources

    Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées. Lorsque vous créez un groupe de ressources, vous devez spécifier un emplacement. Cet emplacement est l’emplacement où les métadonnées du groupe de ressources sont stockées, c’est également l’emplacement où vos ressources s’exécutent dans Azure si vous ne spécifiez pas une autre région lors de la création de ressources. Créez un groupe de ressources à l’aide de la commande [az group create][az-group-create].

    az group create --name $RESOURCEGROUP --location $LOCATION
    

    L’exemple de sortie suivant montre que le groupe de ressources a été créé correctement :

    {
    "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
    "location": "eastus",
    "managedBy": null,
    "name": "aro-rg",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null
    }
    
  3. Créez un réseau virtuel.

    Les clusters Azure Red Hat OpenShift exécutant OpenShift 4 nécessitent un réseau virtuel avec deux sous-réseaux vides (pour les nœuds principaux et les nœuds worker).

    Créez un réseau virtuel dans le même groupe de ressources que vous avez créé précédemment.

    az network vnet create \
    --resource-group $RESOURCEGROUP \
    --name aro-vnet \
    --address-prefixes 10.0.0.0/22
    

    L’exemple de sortie suivant montre le réseau virtuel qui a été créé :

    {
    "newVNet": {
        "addressSpace": {
        "addressPrefixes": [
            "10.0.0.0/22"
        ]
        },
        "id": "/subscriptions/<guid>/resourceGroups/aro-rg/providers/Microsoft.Network/virtualNetworks/aro-vnet",
        "location": "eastus",
        "name": "aro-vnet",
        "provisioningState": "Succeeded",
        "resourceGroup": "aro-rg",
        "type": "Microsoft.Network/virtualNetworks"
    }
    }
    
  4. Ajoutez un sous-réseau vide pour les nœuds principaux.

    az network vnet subnet create \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --name master-subnet \
    --address-prefixes 10.0.0.0/23 \
    --service-endpoints Microsoft.ContainerRegistry
    
  5. Ajoutez un sous-réseau vide pour les nœuds worker.

    az network vnet subnet create \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --name worker-subnet \
    --address-prefixes 10.0.2.0/23 \
    --service-endpoints Microsoft.ContainerRegistry
    
  6. Désactivez les stratégies de point de terminaison privé de sous-réseau sur le sous-réseau maître. Cela est obligatoire pour pouvoir se connecter au cluster et le gérer.

    az network vnet subnet update \
    --name master-subnet \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --disable-private-link-service-network-policies true
    

Créer le cluster

Exécutez la commande suivante pour créer un cluster. Si vous le souhaitez, vous pouvez transmettre votre secret d’extraction Red Hat pour permettre au cluster d’accéder à des registres de conteneurs Red Hat et à du contenu supplémentaire.

Remarque

Si vous copiez/collez des commandes et utilisez l’un des paramètres facultatifs, veillez à supprimer les hashtags initiaux et le texte de commentaire de fin. De même, fermez l’argument sur la ligne précédente de la commande avec une barre oblique inverse de fin.

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet \
  --apiserver-visibility Private \
  --ingress-visibility Private
  # --domain foo.example.com # [OPTIONAL] custom domain
  # --pull-secret @pull-secret.txt # [OPTIONAL]

Après l’exécution de la commande az aro create, la création d’un cluster prend normalement une trentaine de minutes.

Remarque

Lorsque vous tentez de créer un cluster, si vous recevez un message d’erreur indiquant que votre quota de ressources a été dépassé, consultez Ajout d’un quota à un compte ARO pour savoir comment continuer.

Important

Si vous choisissez de spécifier un domaine personnalisé, par exemple foo.example.com, la console OpenShift sera disponible sur une URL telle que https://console-openshift-console.apps.foo.example.com, au lieu de l’URL de domaine intégrée https://console-openshift-console.apps.<random>.<location>.aroapp.io.

Par défaut, OpenShift utilise des certificats auto-signés pour toutes les routes créées sur *.apps.<random>.<location>.aroapp.io. Si vous choisissez DNS personnalisé, après vous être connecté au cluster, vous devez suivre la documentation OpenShift pour configurer un certificat personnalisé pour votre contrôleur d’entrée et votre certificat personnalisé pour votre serveur d’API.

Créer un cluster privé sans adresse IP publique

En règle générale, les clusters privés sont créés avec une adresse IP publique et un équilibreur de charge, fournissant un moyen de connectivité sortante à d’autres services. Toutefois, vous pouvez créer un cluster privé sans adresse IP publique. Cela peut être nécessaire dans les situations où les exigences de sécurité ou de stratégie interdisent l’utilisation d’adresses IP publiques.

Pour créer un cluster privé sans adresse IP publique, suivez la procédure ci-dessus, en ajoutant le paramètre --outbound-type UserDefinedRouting à la aro create commande, comme dans l’exemple suivant :

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet \
  --apiserver-visibility Private \
  --ingress-visibility Private \
  --outbound-type UserDefinedRouting

Remarque

L’indicateur UserDefinedRouting ne peut être utilisé que lors de la création de clusters avec --apiserver-visibility Private et --ingress-visibility Private de paramètres. Vérifiez que vous utilisez la dernière interface de ligne de commande Azure. Les clusters déployés avec Azure CLI 2.52.0 et versions antérieures seront déployés avec des adresses IP publiques.

Cette option de routage défini par l’utilisateur empêche l’approvisionnement d’une adresse IP publique. Le routage défini par l’utilisateur (UDR) vous permet de créer des itinéraires personnalisés dans Azure afin de remplacer les itinéraires système par défaut ou d’ajouter d’autres itinéraires à la table de routage d’un sous-réseau. Consultez le routage du trafic de réseau virtuel pour en savoir plus.

Important

Veillez à spécifier le sous-réseau approprié avec la table de routage correctement configurée lors de la création de votre cluster privé.

Pour la sortie, l’option Routage défini par l’utilisateur garantit que le cluster nouvellement créé dispose de la fonctionnalité de verrouillage de sortie activée pour vous permettre de sécuriser le trafic sortant à partir de votre nouveau cluster privé. Pour en savoir plus, consultez Contrôler le trafic de sortie pour votre cluster Azure Red Hat OpenShift (ARO).

Remarque

Si vous choisissez le type de réseau de routage défini par l’utilisateur, vous êtes entièrement responsable de la gestion de la sortie du routage de votre cluster en dehors de votre réseau virtuel (par exemple, l’accès à l’Internet public). Azure Red Hat OpenShift ne peut pas gérer cela pour vous.

Vous pouvez configurer une ou plusieurs adresses IP de sortie sur un espace de noms ou des pods spécifiques dans un espace de noms d’un cluster privé sans adresse IP publique. Pour ce faire, suivez la procédure ci-dessus pour créer un cluster privé sans adresse IP publique, puis configurez l’adresse IP de sortie en fonction de ce document Red Hat OpenShift. Ces adresses IP de sortie doivent provenir des sous-réseaux associés au cluster ARO.

La configuration d’une adresse IP de sortie pour un cluster privé ARO est prise en charge uniquement pour les clusters avec le --outbound-type UserDefinedRouting paramètre. Il n’est pas pris en charge pour les clusters ARO publics qui ont le --outbound-type LoadBalancer paramètre.

Établir une connexion au cluster privé

Vous pouvez vous connecter au cluster à l’aide de l’utilisateur kubeadmin. Exécutez la commande suivante pour rechercher le mot de passe de l’utilisateur kubeadmin.

az aro list-credentials \
  --name $CLUSTER \
  --resource-group $RESOURCEGROUP

L’exemple de sortie suivant montre que le mot de passe se trouve dans kubeadminPassword.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

Vous trouverez l’URL de la console de cluster en exécutant la commande suivante, qui se présente comme suit : https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name $CLUSTER \
    --resource-group $RESOURCEGROUP \
    --query "consoleProfile.url" -o tsv

Important

Pour vous connecter à un cluster Azure Red Hat OpenShift privé, vous devez effectuer l’étape suivante à partir d’un hôte qui se trouve dans le Réseau virtuel que vous avez créé ou dans un Réseau virtuel appairé avec le Réseau virtuel le cluster a été déployé.

Lancez l’URL de la console dans un navigateur et connectez-vous à l’aide des informations d’identification kubeadmin.

Screenshot that shows the Azure Red Hat OpenShift login screen.

Installer l’interface CLI OpenShift

Une fois que vous êtes connecté à la console web OpenShift, cliquez sur ? en haut à droite, puis sur Command Line Tools (Outils en ligne de commande). Téléchargez la version qui convient pour votre ordinateur.

Image shows Azure Red Hat OpenShift login screen

Vous pouvez aussi télécharger la dernière version de l’interface CLI qui convient pour votre ordinateur.

Se connecter à partir de l’interface CLI OpenShift

Récupérez l’adresse du serveur d’API.

apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)

Important

Pour vous connecter à un cluster Azure Red Hat OpenShift privé, vous devez effectuer l’étape suivante à partir d’un hôte qui se trouve dans le Réseau virtuel que vous avez créé ou dans un Réseau virtuel appairé avec le Réseau virtuel le cluster a été déployé.

Connectez-vous au serveur d’API du cluster OpenShift à l’aide de la commande suivante. Remplacez <kubeadmin password> par le mot de passe que vous venez de récupérer.

oc login $apiServer -u kubeadmin -p <kubeadmin password>

Étapes suivantes

Dans cet article, un cluster Azure Red Hat OpenShift exécutant OpenShift 4 a été déployé. Vous avez appris à :

  • Préparer les éléments requis et créer le réseau virtuel et ses sous-réseaux nécessaires
  • Déployer un cluster
  • Vous connecter au cluster à l’aide de l’utilisateur kubeadmin

Passez à l’article suivant afin d’apprendre à configurer le cluster pour l’authentification avec Microsoft Entra ID.