11.2. Configuration de l'encapsulation de l'espace de noms de montage
Vous pouvez configurer l'encapsulation de l'espace de noms de montage de manière à ce qu'un cluster fonctionne avec moins de ressources.
L'encapsulation de l'espace de noms de montage est une fonctionnalité de l'aperçu technologique et elle est désactivée par défaut. Pour l'utiliser, vous devez l'activer manuellement.
Conditions préalables
-
Vous avez installé l'OpenShift CLI (
oc). -
Vous vous êtes connecté en tant qu'utilisateur avec les privilèges
cluster-admin.
Procédure
Créer un fichier appelé
mount_namespace_config.yamlavec le YAML suivant :apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: master name: 99-kubens-master spec: config: ignition: version: 3.2.0 systemd: units: - enabled: true name: kubens.service --- apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 99-kubens-worker spec: config: ignition: version: 3.2.0 systemd: units: - enabled: true name: kubens.serviceAppliquez l'espace de noms mount
MachineConfigCR en exécutant la commande suivante :$ oc apply -f mount_namespace_config.yamlExemple de sortie
machineconfig.machineconfiguration.openshift.io/99-kubens-master created machineconfig.machineconfiguration.openshift.io/99-kubens-worker createdLa CR
MachineConfigpeut prendre jusqu'à 30 minutes pour finir d'être appliquée dans le cluster. Vous pouvez vérifier l'état de la CRMachineConfigen exécutant la commande suivante :$ oc get mcpExemple de sortie
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-03d4bc4befb0f4ed3566a2c8f7636751 False True False 3 0 0 0 45m worker rendered-worker-10577f6ab0117ed1825f8af2ac687ddf False True False 3 1 1Attendez que la CR
MachineConfigsoit appliquée avec succès sur tous les nœuds de plan de contrôle et de travail après l'exécution de la commande suivante :$ oc wait --for=condition=Updated mcp --all --timeout=30mExemple de sortie
machineconfigpool.machineconfiguration.openshift.io/master condition met machineconfigpool.machineconfiguration.openshift.io/worker condition met
Vérification
Pour vérifier l'encapsulation d'un hôte de cluster, exécutez les commandes suivantes :
Ouvrez un shell de débogage sur l'hôte du cluster :
oc debug node/<node_name>Ouvrez une session
chroot:sh-4.4# chroot /hostVérifiez l'espace de noms de montage de systemd :
sh-4.4# readlink /proc/1/ns/mntExemple de sortie
mnt:[4026531953]Vérifier l'espace de noms du montage kubelet :
sh-4.4# readlink /proc/$(pgrep kubelet)/ns/mntExemple de sortie
mnt:[4026531840]Vérifiez l'espace de noms de la monture CRI-O :
sh-4.4# readlink /proc/$(pgrep crio)/ns/mntExemple de sortie
mnt:[4026531840]
Ces commandes renvoient les espaces de noms de montage associés à systemd, kubelet et à l'exécution du conteneur. Dans OpenShift Container Platform, l'exécution du conteneur est CRI-O.
L'encapsulation est effective si systemd se trouve dans un espace de noms de montage différent de kubelet et CRI-O, comme dans l'exemple ci-dessus. L'encapsulation n'est pas effective si les trois processus se trouvent dans le même espace de noms de montage.