Chapitre 7. Tâches du nœud post-installation
Après avoir installé OpenShift Container Platform, vous pouvez étendre et personnaliser votre cluster en fonction de vos besoins grâce à certaines tâches de nœuds.
7.1. Ajouter des machines de calcul RHEL à un cluster OpenShift Container Platform
Comprendre et travailler avec les nœuds de calcul RHEL.
7.1.1. À propos de l'ajout de nœuds de calcul RHEL à un cluster
Dans OpenShift Container Platform 4.12, vous avez la possibilité d'utiliser des machines Red Hat Enterprise Linux (RHEL) comme machines de calcul dans votre cluster si vous utilisez une installation d'infrastructure fournie par l'utilisateur sur l'architecture x86_64
. Vous devez utiliser des machines Red Hat Enterprise Linux CoreOS (RHCOS) pour les machines du plan de contrôle dans votre cluster.
Si vous choisissez d'utiliser des machines de calcul RHEL dans votre cluster, vous êtes responsable de la gestion et de la maintenance de l'ensemble du cycle de vie du système d'exploitation. Vous devez effectuer les mises à jour du système, appliquer les correctifs et effectuer toutes les autres tâches requises.
- Étant donné que la suppression d'OpenShift Container Platform d'une machine du cluster nécessite la destruction du système d'exploitation, vous devez utiliser du matériel dédié pour toutes les machines RHEL que vous ajoutez au cluster.
- La mémoire swap est désactivée sur toutes les machines RHEL que vous ajoutez à votre cluster OpenShift Container Platform. Vous ne pouvez pas activer la mémoire swap sur ces machines.
Vous devez ajouter toutes les machines de calcul RHEL au cluster après avoir initialisé le plan de contrôle.
7.1.2. Configuration requise pour les nœuds de calcul RHEL
Les machines de calcul Red Hat Enterprise Linux (RHEL) hôtes de votre environnement OpenShift Container Platform doivent répondre aux spécifications matérielles minimales et aux exigences de niveau système suivantes :
- Vous devez avoir un abonnement OpenShift Container Platform actif sur votre compte Red Hat. Si ce n'est pas le cas, contactez votre représentant commercial pour plus d'informations.
- Les environnements de production doivent fournir des machines de calcul pour prendre en charge les charges de travail prévues. En tant qu'administrateur de cluster, vous devez calculer la charge de travail prévue et ajouter environ 10 % de frais généraux. Pour les environnements de production, allouez suffisamment de ressources pour que la défaillance d'un hôte de nœud n'affecte pas votre capacité maximale.
Chaque système doit répondre aux exigences matérielles suivantes :
- Système physique ou virtuel, ou instance fonctionnant sur un IaaS public ou privé.
Système d'exploitation de base : RHEL 8.6 ou 8.7 avec l'option d'installation "Minimal".
ImportantL'ajout de machines de calcul RHEL 7 à un cluster OpenShift Container Platform n'est pas pris en charge.
Si vous disposez de machines de calcul RHEL 7 qui étaient prises en charge dans une version antérieure d'OpenShift Container Platform, vous ne pouvez pas les mettre à niveau vers RHEL 8. Vous devez déployer de nouveaux hôtes RHEL 8, et les anciens hôtes RHEL 7 doivent être supprimés. Voir la section "Suppression des nœuds" pour plus d'informations.
Pour obtenir la liste la plus récente des fonctionnalités majeures qui ont été dépréciées ou supprimées dans OpenShift Container Platform, consultez la section Deprecated and removed features des notes de version d'OpenShift Container Platform.
- Si vous avez déployé OpenShift Container Platform en mode FIPS, vous devez activer FIPS sur la machine RHEL avant de la démarrer. Voir Installation d'un système RHEL 8 avec le mode FIPS activé dans la documentation RHEL 8.
The use of FIPS Validated / Modules in Process cryptographic libraries is only supported on OpenShift Container Platform deployments on the x86_64
architecture.
- NetworkManager 1.0 ou version ultérieure.
- 1 vCPU.
- Minimum 8 Go de RAM.
-
Minimum 15 Go d'espace sur le disque dur pour le système de fichiers contenant
/var/
. -
Minimum 1 Go d'espace sur le disque dur pour le système de fichiers contenant
/usr/local/bin/
. Au moins 1 Go d'espace sur le disque dur pour le système de fichiers contenant son répertoire temporaire. Le répertoire temporaire du système est déterminé selon les règles définies dans le module tempfile de la bibliothèque standard Python.
-
Chaque système doit répondre aux exigences supplémentaires de votre fournisseur de système. Par exemple, si vous avez installé votre cluster sur VMware vSphere, vos disques doivent être configurés conformément à ses directives de stockage et l'attribut
disk.enableUUID=true
doit être défini. - Chaque système doit pouvoir accéder aux points d'extrémité de l'API du cluster en utilisant des noms d'hôtes résolubles dans le DNS. Tout contrôle d'accès à la sécurité du réseau en place doit permettre l'accès du système aux points d'extrémité du service API de la grappe.
-
Chaque système doit répondre aux exigences supplémentaires de votre fournisseur de système. Par exemple, si vous avez installé votre cluster sur VMware vSphere, vos disques doivent être configurés conformément à ses directives de stockage et l'attribut
Ressources supplémentaires
7.1.2.1. Certificate signing requests management
Because your cluster has limited access to automatic machine management when you use infrastructure that you provision, you must provide a mechanism for approving cluster certificate signing requests (CSRs) after installation. The kube-controller-manager
only approves the kubelet client CSRs. The machine-approver
cannot guarantee the validity of a serving certificate that is requested by using kubelet credentials because it cannot confirm that the correct machine issued the request. You must determine and implement a method of verifying the validity of the kubelet serving certificate requests and approving them.
7.1.3. Préparation de la machine pour l'exécution du cahier de jeu
Avant d'ajouter des machines de calcul qui utilisent Red Hat Enterprise Linux (RHEL) comme système d'exploitation à un cluster OpenShift Container Platform 4.12, vous devez préparer une machine RHEL 8 pour exécuter un playbook Ansible qui ajoute le nouveau nœud au cluster. Cette machine ne fait pas partie du cluster mais doit pouvoir y accéder.
Conditions préalables
-
Installez le CLI OpenShift (
oc
) sur la machine sur laquelle vous exécutez le playbook. -
Connectez-vous en tant qu'utilisateur disposant de l'autorisation
cluster-admin
.
Procédure
-
Assurez-vous que le fichier
kubeconfig
pour le cluster et le programme d'installation que vous avez utilisé pour installer le cluster se trouvent sur l'ordinateur RHEL 8. Pour ce faire, vous pouvez utiliser la même machine que celle que vous avez utilisée pour installer le cluster. - Configurez la machine pour accéder à tous les hôtes RHEL que vous prévoyez d'utiliser comme machines de calcul. Vous pouvez utiliser n'importe quelle méthode autorisée par votre entreprise, y compris un bastion avec un proxy SSH ou un VPN.
Configurez un utilisateur sur la machine sur laquelle vous exécutez le playbook et qui dispose d'un accès SSH à tous les hôtes RHEL.
ImportantSi vous utilisez l'authentification par clé SSH, vous devez gérer la clé avec un agent SSH.
Si ce n'est pas déjà fait, enregistrez la machine auprès du RHSM et associez-lui un pool avec un abonnement
OpenShift
:Enregistrer la machine auprès du RHSM :
# subscription-manager register --username=<user_name> --password=<password>
Tirer les dernières données d'abonnement du RHSM :
# subscription-manager refresh
Liste des abonnements disponibles :
# subscription-manager list --available --matches '*OpenShift*'
Dans la sortie de la commande précédente, trouvez l'ID du pool pour un abonnement à OpenShift Container Platform et attachez-le :
# subscription-manager attach --pool=<pool_id>
Activer les dépôts requis par OpenShift Container Platform 4.12 :
# subscription-manager repos \ --enable="rhel-8-for-x86_64-baseos-rpms" \ --enable="rhel-8-for-x86_64-appstream-rpms" \ --enable="rhocp-4.12-for-rhel-8-x86_64-rpms"
Installez les paquets nécessaires, y compris
openshift-ansible
:# yum install openshift-ansible openshift-clients jq
Le paquet
openshift-ansible
fournit des utilitaires de programme d'installation et attire d'autres paquets dont vous avez besoin pour ajouter un nœud de calcul RHEL à votre cluster, tels qu'Ansible, les playbooks et les fichiers de configuration associés. Le paquetopenshift-clients
fournit la CLIoc
, et le paquetjq
améliore l'affichage de la sortie JSON sur votre ligne de commande.
7.1.4. Préparation d'un nœud de calcul RHEL
Avant d'ajouter une machine Red Hat Enterprise Linux (RHEL) à votre cluster OpenShift Container Platform, vous devez enregistrer chaque hôte auprès du gestionnaire d'abonnements Red Hat (RHSM), attacher un abonnement OpenShift Container Platform actif et activer les référentiels requis.
Sur chaque hôte, s'enregistrer auprès du RHSM :
# subscription-manager register --username=<user_name> --password=<password>
Tirer les dernières données d'abonnement du RHSM :
# subscription-manager refresh
Liste des abonnements disponibles :
# subscription-manager list --available --matches '*OpenShift*'
Dans la sortie de la commande précédente, trouvez l'ID du pool pour un abonnement à OpenShift Container Platform et attachez-le :
# subscription-manager attach --pool=<pool_id>
Désactiver tous les dépôts yum :
Désactiver tous les dépôts RHSM activés :
# subscription-manager repos --disable="*"
Dressez la liste des dépôts yum restants et notez leur nom sous
repo id
, le cas échéant :# yum repolist
Utilisez
yum-config-manager
pour désactiver les autres dépôts yum :# yum-config-manager --disable <repo_id>
Vous pouvez également désactiver tous les dépôts :
# yum-config-manager --disable \*
Notez que cette opération peut prendre quelques minutes si vous avez un grand nombre de référentiels disponibles
Activez uniquement les dépôts requis par OpenShift Container Platform 4.12 :
# subscription-manager repos \ --enable="rhel-8-for-x86_64-baseos-rpms" \ --enable="rhel-8-for-x86_64-appstream-rpms" \ --enable="rhocp-4.12-for-rhel-8-x86_64-rpms" \ --enable="fast-datapath-for-rhel-8-x86_64-rpms"
Arrêtez et désactivez firewalld sur l'hôte :
# systemctl disable --now firewalld.service
NoteVous ne devez pas activer firewalld par la suite. Si vous le faites, vous ne pourrez pas accéder aux logs de OpenShift Container Platform sur le worker.
7.1.5. Ajout d'une machine de calcul RHEL à votre cluster
Vous pouvez ajouter des machines de calcul qui utilisent Red Hat Enterprise Linux comme système d'exploitation à un cluster OpenShift Container Platform 4.12.
Conditions préalables
- Vous avez installé les paquets requis et effectué la configuration nécessaire sur la machine sur laquelle vous exécutez le playbook.
- Vous avez préparé les hôtes RHEL pour l'installation.
Procédure
Effectuez les étapes suivantes sur la machine que vous avez préparée pour exécuter le manuel de jeu :
Créez un fichier d'inventaire Ansible nommé
/<path>/inventory/hosts
qui définit les hôtes de votre machine de calcul et les variables requises :[all:vars] ansible_user=root 1 #ansible_become=True 2 openshift_kubeconfig_path="~/.kube/config" 3 [new_workers] 4 mycluster-rhel8-0.example.com mycluster-rhel8-1.example.com
- 1
- Indiquez le nom de l'utilisateur qui exécute les tâches Ansible sur les ordinateurs distants.
- 2
- Si vous ne spécifiez pas
root
pouransible_user
, vous devez définiransible_become
pourTrue
et attribuer à l'utilisateur les autorisations sudo. - 3
- Indiquez le chemin et le nom du fichier
kubeconfig
pour votre cluster. - 4
- Dressez la liste de chaque machine RHEL à ajouter à votre cluster. Vous devez fournir le nom de domaine complet pour chaque hôte. Ce nom est le nom d'hôte que le cluster utilise pour accéder à la machine. Définissez donc le nom public ou privé correct pour accéder à la machine.
Naviguez jusqu'au répertoire du playbook Ansible :
$ cd /usr/share/ansible/openshift-ansible
Exécutez le manuel de jeu :
$ ansible-playbook -i /<path>/inventory/hosts playbooks/scaleup.yml 1
- 1
- Pour
<path>
, indiquez le chemin d'accès au fichier d'inventaire Ansible que vous avez créé.
7.1.6. Paramètres requis pour le fichier hosts d'Ansible
Vous devez définir les paramètres suivants dans le fichier hosts Ansible avant d'ajouter des machines de calcul Red Hat Enterprise Linux (RHEL) à votre cluster.
Paramètres | Description | Valeurs |
---|---|---|
| L'utilisateur SSH qui permet une authentification basée sur SSH sans mot de passe. Si vous utilisez l'authentification par clé SSH, vous devez gérer la clé avec un agent SSH. |
Un nom d'utilisateur sur le système. La valeur par défaut est |
|
Si les valeurs de |
|
|
Spécifie un chemin et un nom de fichier vers un répertoire local qui contient le fichier | Le chemin et le nom du fichier de configuration. |
7.1.7. Optionnel : Suppression des machines de calcul RHCOS d'un cluster
Après avoir ajouté les machines de calcul Red Hat Enterprise Linux (RHEL) à votre cluster, vous pouvez éventuellement supprimer les machines de calcul Red Hat Enterprise Linux CoreOS (RHCOS) afin de libérer des ressources.
Conditions préalables
- Vous avez ajouté des machines de calcul RHEL à votre cluster.
Procédure
Affichez la liste des machines et enregistrez les noms des nœuds des machines de calcul RHCOS :
$ oc get nodes -o wide
Pour chaque machine de calcul RHCOS, supprimer le nœud :
Marquez le nœud comme non ordonnançable en exécutant la commande
oc adm cordon
:$ oc adm cordon <node_name> 1
- 1
- Indiquez le nom du nœud de l'une des machines de calcul RHCOS.
Égoutter toutes les gousses du nœud :
oc adm drain <node_name> --force --delete-emptydir-data --ignore-daemonsets 1
- 1
- Indiquez le nom du nœud de la machine de calcul RHCOS que vous avez isolée.
Supprimer le nœud :
oc delete nodes <node_name> $ oc delete nodes <node_name> 1
- 1
- Indiquez le nom du nœud de la machine de calcul RHCOS que vous avez drainée.
Examinez la liste des machines de calcul pour vous assurer que seuls les nœuds RHEL sont conservés :
$ oc get nodes -o wide
- Supprimez les machines RHCOS de l'équilibreur de charge pour les machines de calcul de votre cluster. Vous pouvez supprimer les machines virtuelles ou réimager le matériel physique des machines de calcul RHCOS.