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 découvrirez comment effectuer les actions suivantes :

  • 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 ainsi qu’à d’autres contenus. Cette étape est facultative mais recommandée.

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

    Connectez-vous à votre compte Red Hat existant ou créez un compte Red Hat en utilisant votre adresse e-mail professionnelle, puis acceptez les conditions générales.

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

Enregistrez et conservez le fichier pull-secret.txt dans 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

Ensuite, créez 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 spécifiez un emplacement. Il s’agit de l’emplacement de stockage des métadonnées de groupe de ressources. C’est également là que 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 de contrôle 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 pour les points de terminaison privés dans le sous-réseau principal. 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. Vous pouvez éventuellement transmettre votre secret d’extraction Red Hat pour permettre à votre cluster d’accéder à des registres de conteneurs Red Hat et à un autre contenu.

Remarque

Si vous copiez/collez des commandes et utilisez l’un des paramètres facultatifs, veillez à supprimer les mots-dièse initiaux ainsi que 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]

Normalement, la commande met az aro create environ 35 minutes à créer un cluster.

Remarque

Quand vous essayez de créer un cluster, si vous recevez un message d’erreur indiquant que votre quota de ressources a été dépassé, consultez Ajouter un quota à un compte ARO pour savoir comment procéder.

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 un DNS personnalisé, une fois connecté au cluster, vous devez suivre la documentation OpenShift pour configurer un certificat personnalisé pour votre contrôleur d’entrée et un 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, offrant ainsi une connectivité sortante vers d’autres services. Cependant, vous pouvez créer un cluster privé sans adresse IP publique. Cela peut être nécessaire lorsque les exigences de sécurité ou les stratégies 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 commande aro create, 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 des paramètres --apiserver-visibility Private et --ingress-visibility Private . Veillez à toujours utiliser la dernière version d’Azure CLI. 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 vous permet de créer des routes personnalisées dans Azure pour remplacer les routes système par défaut, ou pour ajouter d’autres routes à la table de routage d’un sous-réseau. Pour plus d’informations, consultez Routage du trafic de réseau virtuel.

Important

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

Pour la sortie, l’option de routage défini par l’utilisateur garantit que le nouveau cluster dispose de la fonctionnalité de verrouillage de sortie activée, vous permettant ainsi de sécuriser le trafic sortant de votre nouveau cluster privé. Pour plus d’informations, consultez Contrôler le trafic de sortie pour votre cluster Azure Red Hat OpenShift (ARO).

Remarque

Si vous optez pour un réseau avec routage défini par l’utilisateur, vous êtes entièrement responsable de la gestion de la sortie de votre cluster en dehors de votre réseau virtuel, y compris l’obtention de l’accès à Internet public. Azure Red Hat OpenShift ne peut pas gérer ces opérations pour vous.

Vous pouvez configurer une ou plusieurs adresses IP de sortie pour un espace de noms ou des pods spécifiques au sein de l’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 conformément à la documentation 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 paramètre --outbound-type UserDefinedRouting. Elle n’est pas prise en charge pour les clusters ARO publics qui ont le paramètre --outbound-type LoadBalancer.

É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 le mot de passe 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 ceci : 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 sur le réseau virtuel que vous avez créé ou sur un réseau virtuel appairé avec le réseau virtuel sur lequel 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.

Installer l’interface CLI OpenShift

Une fois que vous êtes connecté à la console web OpenShift, sélectionnez ? en haut à droite, puis Outils en ligne de commande. Téléchargez la version qui convient pour votre ordinateur.

Image montrant l’écran de connexion à Azure Red Hat OpenShift

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 sur le réseau virtuel que vous avez créé ou sur un réseau virtuel appairé avec le réseau virtuel sur lequel 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 avez récupéré.

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.