Ajouter un Nodepool
La plateforme OpenShift Managé de NumSpot manipule les Nodes au travers de Nodepool.
Un Nodepool décrit les caractéristiques qui sont appliquées dans les Nodes qu'il contient. Tous les Nodes faisant partie d'un même Nodepool voient leurs caractéristiques techniques identiques (CPU, mémoire, GPU éventuellement).
Tous les nodes associés à un nodepool se voient appliquer un label nodepool
avec comme valeur le nom du nodepool donné à la création de celui-ci.
Il est alors possible de contrôler le placement d'un pod sur un nodepool spécifique au travers du mécanisme de Node Selector : Placing pods on specific nodes using node selectors.
L'ajout d'un nodepool dans un cluster rentre dans les actions qui impactent techniquement le cluster.
Cette action peut être lancée seulement si le cluster en question n'a pas d'autre opération en cours.
Pour rappel, toute opération constitue une demande qui a un impacte technique sur 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
Ajouter un nodepool dans un cluster sur la console NumSpot
-
Depuis la page de détails du cluster, descendez jusqu'à atteindre la section Nodepool et workers et cliquez sur le bouton Ajouter un nodepool.
Un formulaire pour la création d'un nouveau nodepool apparaît.
-
Dans le champ Nom, tapez le nom du nodepool.
Nomenclature du nodepoolLe nom du Nodepool doit respecter certains critères:
- Le nom doit être unique au sein du cluster.
- Le nom doit être différent de
master
(le nom est reservé à la gestion du cluster). - Le nom doit se composer uniquement des caractères alphanumérique (
a-zA-Z0-9
et-
).
-
Choisissez un Type de profil, deux types sont possibles : Standard ou With GPU accompagné du modèle de GPU souhaité.
Disponibilité GPULa disponibilité des modèles de GPU peuvent différer selon la région (consulter les profils de node). Sachant bien que tout profil défini est définitif, et ne peut être modifié durant la durée de vie du nodepool.
-
Choisissez un Profil de workers parmi les quatre options disponibles : Small, Medium, Large et Very Large.
Profil sélectionnéLorsque vous sélectionnez un profil, juste en dessous s'affiche les caractéristiques techniques d'un nodes type associé au profil.
Profil de nodeChaque profil correspond à des caractéristiques types pour un node. Vous pouvez consulter les caractéristiques correspondant aux profils selon les régions sur les profils de nodes
-
(Option liée au choix du type de profil "With GPU") Choisissez un Modèle de GPU pour le GPU du nodepool.
-
Indiquez le nombre de workers, celui ne peut pas être inférieur à 1.
RappelLe 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é au CIDR
-
Cliquez sur le bouton Créer un nodepool.
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 d'ajouter des nodepools dans le cluster ciblé. - Un jeton de connexion associé au compte NumSpot utilisé.
Création d'un Nodepool
Nom du Nodepool
Le nom du Nodepool doit respecter certain critère:
- Le nom doit être unique au sein du cluster.
- Le nom doit être différent de
master
(le nom est reservé à la gestion du cluster). - Le nom doit se composer uniquement des caractères alphanumérique (
a-zA-Z0-9
et-
).
Profil du Nodepool
Le profil du Nodepool permet d'indiquer les caractéristiques techniques des Nodes qui seront créer dans ce Nodepool. Pour simplifier son utilisation, il existe 4 profils de Node:
SMALL
MEDIUM
LARGE
VERYLARGE
Avec chacun des caractéristiques techniques fixes quelque soit la région dans laquel le cluster ciblé est créé.
Dans le cas où vous voudriez déterminer un GPU dans les caractéristiques du Nodepool, assurez-vous de la compatibilité entre la région, le type de Node et le mod èle de GPU souhaité (consulter les profils de Node).
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
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é au CIDR
export REGION="myregion"
export SPACE_ID="myspaceid"
export ACCESS_TOKEN="myaccesstoken"
export CLUSTER_ID="myclusterid"
curl -X POST https://api.$REGION.numspot.com/openshift/spaces/$SPACE_ID/clusters/$CLUSTER_ID/nodepools \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"name": "np-3",
"nodeCount": 3,
"nodeProfile": "SMALL"
}'
Il est possible d'ajouter un Nodepool dont le profil contient des caractérisques GPU (consulter profils de Nodepool).
export REGION="myregion"
export SPACE_ID="myspaceid"
export ACCESS_TOKEN="myaccesstoken"
export CLUSTER_ID="myclusterid"
curl -X POST https://api.$REGION.numspot.com/openshift/spaces/$SPACE_ID/clusters/$CLUSTER_ID/nodepools \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"name": "np-gpu-2",
"nodeCount": 3,
"nodeProfile": "SMALL",
"gpu": "P6"
}'
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": "CREATE_NODE_POOL",
"status": "PENDING",
"targetLink": "https://..../spaces/{spaceId}/clusters/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"selfLink": "https://..../spaces/{spaceId}/operations/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
...
}
}