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
Si vous possédez plusieurs abonnements Azure, indiquez l’ID d’abonnement pertinent :
az account set --subscription <SUBSCRIPTION ID>
Inscrivez le fournisseur de ressources
Microsoft.RedHatOpenShift
:az provider register -n Microsoft.RedHatOpenShift --wait
Inscrivez le fournisseur de ressources
Microsoft.Compute
(si ce n’est déjà fait) :az provider register -n Microsoft.Compute --wait
Inscrivez le fournisseur de ressources
Microsoft.Network
(si ce n’est déjà fait) :az provider register -n Microsoft.Network --wait
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.
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.
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.
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
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 }
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" } }
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
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
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.
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.