7.2. Estimation du nombre de pods que peuvent contenir les nœuds d'OpenShift Container Platform
En tant qu'administrateur de cluster, vous pouvez utiliser l'outil de capacité de cluster pour visualiser le nombre de pods qui peuvent être planifiés pour augmenter les ressources actuelles avant qu'elles ne soient épuisées, et pour garantir que tous les pods futurs pourront être planifiés. Cette capacité provient d'un hôte de nœud individuel dans une grappe et comprend le CPU, la mémoire, l'espace disque et d'autres éléments.
7.2.1. Comprendre l'outil de capacité de cluster d'OpenShift Container Platform Copier lienLien copié sur presse-papiers!
L'outil de capacité de la grappe simule une séquence de décisions d'ordonnancement afin de déterminer le nombre d'instances d'un pod d'entrée qui peuvent être ordonnancées sur la grappe avant qu'elle n'épuise ses ressources, ce qui permet d'obtenir une estimation plus précise.
La capacité allouable restante est une estimation approximative, car elle ne tient pas compte de toutes les ressources distribuées entre les nœuds. Elle analyse uniquement les ressources restantes et estime la capacité disponible qui est encore consommable en termes de nombre d'instances d'un pod avec des exigences données qui peuvent être planifiées dans un cluster.
En outre, les modules ne peuvent être programmés que sur des ensembles particuliers de nœuds en fonction de leurs critères de sélection et d'affinité. Par conséquent, il peut être difficile d'estimer quels pods restants une grappe peut programmer.
Vous pouvez exécuter l'outil d'analyse de la capacité des clusters en tant qu'utilitaire autonome à partir de la ligne de commande ou en tant que tâche dans un pod au sein d'un cluster OpenShift Container Platform. L'exécution en tant que tâche à l'intérieur d'un pod vous permet de l'exécuter plusieurs fois sans intervention.
7.2.2. Exécution de l'outil de capacité de cluster sur la ligne de commande Copier lienLien copié sur presse-papiers!
Vous pouvez exécuter l'outil OpenShift Container Platform cluster capacity à partir de la ligne de commande pour estimer le nombre de pods qui peuvent être planifiés sur votre cluster.
Conditions préalables
- Exécutez l'outil OpenShift Cluster Capacity Tool, qui est disponible sous forme d'image de conteneur à partir du catalogue de l'écosystème Red Hat.
Créez un exemple de fichier spec
Pod
, que l'outil utilise pour estimer l'utilisation des ressources. Le fichierpodspec
spécifie ses besoins en ressources sous la formelimits
ourequests
. L'outil de calcul de la capacité des clusters prend en compte les besoins en ressources du pod dans son analyse d'estimation.Voici un exemple de l'entrée
Pod
spec :Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Procédure
Pour utiliser l'outil de capacité de cluster sur la ligne de commande :
À partir du terminal, connectez-vous au Red Hat Registry :
podman login registry.redhat.io
$ podman login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Tirez l'image de l'outil de capacité de la grappe :
podman pull registry.redhat.io/openshift4/ose-cluster-capacity
$ podman pull registry.redhat.io/openshift4/ose-cluster-capacity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exécutez l'outil de calcul de la capacité des clusters :
podman run -v $HOME/.kube:/kube:Z -v $(pwd):/cc:Z ose-cluster-capacity \ /bin/cluster-capacity --kubeconfig /kube/config --podspec /cc/pod-spec.yaml \ --verbose
$ podman run -v $HOME/.kube:/kube:Z -v $(pwd):/cc:Z ose-cluster-capacity \ /bin/cluster-capacity --kubeconfig /kube/config --podspec /cc/pod-spec.yaml \ --verbose
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Vous pouvez également ajouter l'option
--verbose
pour obtenir une description détaillée du nombre de pods pouvant être planifiés sur chaque nœud du cluster.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans l'exemple ci-dessus, le nombre de pods estimés qui peuvent être programmés sur le cluster est de 88.
7.2.3. Exécution de l'outil de capacité de cluster en tant que tâche à l'intérieur d'un pod Copier lienLien copié sur presse-papiers!
L'exécution de l'outil de capacité de cluster en tant que tâche à l'intérieur d'un pod présente l'avantage de pouvoir être exécutée plusieurs fois sans nécessiter d'intervention de la part de l'utilisateur. L'exécution de l'outil de capacité de cluster en tant que tâche implique l'utilisation d'un objet ConfigMap
.
Conditions préalables
Téléchargez et installez l'outil de calcul de la capacité des clusters.
Procédure
Pour exécuter l'outil de capacité de cluster :
Créer le rôle de cluster :
cat << EOF| oc create -f -
$ cat << EOF| oc create -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer le compte de service :
oc create sa cluster-capacity-sa
$ oc create sa cluster-capacity-sa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter le rôle au compte de service :
oc adm policy add-cluster-role-to-user cluster-capacity-role \ system:serviceaccount:default:cluster-capacity-sa
$ oc adm policy add-cluster-role-to-user cluster-capacity-role \ system:serviceaccount:default:cluster-capacity-sa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définir et créer la spécification
Pod
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow L'analyse de la capacité du cluster est montée dans un volume à l'aide d'un objet
ConfigMap
nommécluster-capacity-configmap
pour monter le fichier d'entrée pod specpod.yaml
dans un volumetest-volume
au chemin/test-pod
.Si vous n'avez pas créé d'objet
ConfigMap
, créez-en un avant de créer le travail :oc create configmap cluster-capacity-configmap \ --from-file=pod.yaml=pod.yaml
$ oc create configmap cluster-capacity-configmap \ --from-file=pod.yaml=pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez le travail en utilisant l'exemple ci-dessous de fichier de spécification de travail :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Variable d'environnement obligatoire permettant à l'outil de capacité de cluster de savoir qu'il s'exécute dans un cluster en tant que pod.
La clépod.yaml
de l'objetConfigMap
est la même que le nom du fichier de spécificationPod
, bien qu'elle ne soit pas obligatoire. Ainsi, le fichier spec du pod d'entrée est accessible à l'intérieur du pod en tant que/test-pod/pod.yaml
.
Exécutez l'image de capacité de cluster en tant que tâche dans un module :
oc create -f cluster-capacity-job.yaml
$ oc create -f cluster-capacity-job.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Consultez les journaux de travail pour connaître le nombre de pods pouvant être planifiés dans le cluster :
oc logs jobs/cluster-capacity-job
$ oc logs jobs/cluster-capacity-job
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow