Éditer un Nodepool
Un Nodepool contient un nombre défini de nodes à sa création. Modifier le nombre de nodes au sein d'un Nodepool permet d'adapter manuellement l'infrastructure selon les besoins du workload.
S'il est souhaité de réduire le nombre de nodes au sein d'un Nodepool, les nodes qui seront supprimés sont ceux les plus récemment créés.
Vous pouvez identifier les nodes directement côté OpenShift (console ou API) leur nom ayant le format suivant et dont l'index le plus grand correspond au dernier node créé: ocp-stdl-[short_id]-[nodepool]-[index]
- Le
short_id
sont les 4 premiers chiffres de l'identifiant du cluster. - Le
nodepool
est le nom du nodepool auquel le node est associé. - L'
index
est l'identifiant incrémental du node.
Le node à l'index
le plus petit correspond au node le plus ancien du nodepool.
L'édition d'un nodepool dans un cluster rentre dans les actions qui impactent techniquement le cluster si le nombre de nodes est modifié.
Cette action peut être lancée seulement si le cluster en question n'a pas d'autre opération en cours.
Pour rappel, tout opération est une demande qui impacte techniquement le cluster.
Voici la liste des opérations:
- Ajouter des workers
- Supprimer un worker
- Mettre à niveau le plan de contrôle
- Mettre à niveau les workers
- Mettre à jour les paquets des nœuds du cluster
- Créer un cluster
- Supprimer un cluster
- Console
- API
Gérer les workers de node pool sur la console NumSpot
Accéder à la section Nodepools et workers de la page Éditer d'un cluster
- Sur la liste des nodepools présentés, identifiez le nodepool à modifier.
Le nom d'un nodepool est unique au sein d'un cluster, il ne peut avoir deux nodepools avec le même nom.
-
Cliquez sur le menu déroulant 1 - Actions et sélectionner 2 - Gérer les workers pour redirigé sur page de gestion des workers.
-
Dans la zone de texte 1 - Nombre de workers souhaité, vous pouvez indiquer le nouveau nombre de Workers, et cliquez sur le bouton 2 - Mettre à jour les Workers pour confirmer.
RappelAssurez-vous que le nombre de nodes disponibles dans le cluster:
- N'excède pas la capacité imposée par le CIDR choisi à la création du cluster.
- Soit supérieur ou égal à 2
Mettre à jour un Nodepool via l'API
Prérequis
- Un compte NumSpot.
- Un espace NumSpot auquel le compte est associé.
- Un compte avec le rôle
OpenShift Admin
sur l'espace ou les accès RBAC qui octroient le droit de modifier les nodepools du cluster ciblé. - Un jeton de connexion associé au compte NumSpot utilisé.
Mise à jour d'un Nodepool
Les données qu'il faut avoir
SPACE_ID
est l'identifiant de l'espace NumSpot dans lequel le cluster a été créé.REGION
est la région dans laquelle l'espace NumSpot a été créé.ACCESS_TOKEN
est le jeton (token) généré via la connexion (consulter la génération d'un token d'accès).CLUSTER_ID
est l'identifiant du cluster NumSpot sur lequel on veut effectuer la mise à jour du nodepool.NODEPOOL_NAME
est le nom du nodepool choisi lors de sa création, et sur lequel nous voulons appliquer les modifications.
Requête de création d'un Nodepool
Le CIDR appliqué lors de la création du cluster limite le nombre de Node pouvant être contenu dans le cluster. Voir plus de détails sur les limitations liées au CIDR
export REGION="myregion"
export SPACE_ID="myspaceid"
export ACCESS_TOKEN="myaccesstoken"
export CLUSTER_ID="myclusterid"
export NODEPOOL_NAME="mynodepoolname"
curl -X POST https://api.$REGION.numspot.com/openshift/spaces/$SPACE_ID/clusters/$CLUSTER_ID/nodepools/$NODEPOOL_NAME \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"nodeCount": 6,
}'
Si l'opération lancée est validée et acceptée, un objet Operation
est retourné par l'API avec un code de statut 202 Accepted
:
{
"clusterId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"nodepoolName": "np-gpu-2",
"operation": {
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type": "UPDATE_NODE_POOL",
"status": "PENDING",
"targetLink": "https://..../spaces/{spaceId}/clusters/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"selfLink": "https://..../spaces/{spaceId}/operations/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
...
}
}