Créer un cluster
Profiter des avantages d'un orchestrateur de conteneurs demande au préalable l'accès à un cluster dans lequel il est possible de déployer ces applicatifs. Dans l'approche NumSpot, les Nodes d'un cluster sont uniquement regroupés dans des Nodepools.
Un nom déjà utilisé par un cluster ne peut être réutilisé si le cluster en question est toujours actif.
Cette action peut être lancée seulement si le cluster en question n'a pas d'opération en cours.
Pour rappel, tout opération est une demande qui impacte techniquement le cluster.
Voici la liste des opérations:
- Ajouter un nodepool
- Supprimer un nodepool
- Mettre à jour le nombre de workers d'un nodepool
- Créer un cluster
- Supprimer un cluster
- Console
- API
Création d'un cluster sur la console NumSpot
Il est primordial de souligner qu'un cluster créé sera lié à l'espace de l'utilisateur et restera visible par le créateur du cluster et tout ceux qui ont le droit de lister les cluster sur le même espace.
Pour accorder l'accès à un autre utilisateur, il sera nécessaire de passer par l'API de gestion des accès.
-
Depuis la page Managed Services>Openshift qui liste les clusters, cliquez sur le bouton Créer un cluster.
La page de création d'un cluster apparaît.
-
Dans le champ Nom, tapez le nom de votre cluster.
NomenclatureL'utilisateur a la possibilité de définir un nom au cluster pour le reconnaître plus facilement. Le choix du nom n'a aucun impact technique sur le cluster, il est uniquement utile à l'utilisateur.
Le nom doit respecter ces critères:
- Être unique au sein de l'espace NumSpot auquel il appartient
- Se composer uniquement des caractères alphanumériques (
a-zA-Z0-9
et-
) - Contenir entre 3 et 64 caractères
-
(Optionnel) Dans le champ Description, tapez une description pour votre cluster.
remarqueLe nombre de caractères maximal est 255.
-
Dans le champ CIDR, tapez la plage d'IP pour votre cluster, en notation CIDR.
Limitation liée au masque de sous-réseauLes 4 premières adresses IP calculées depuis le CIDR donné seront réservées pour la gestion du cluster, donc un masque en /24 donnera la possibilité à 256 - 4 = 252 Nodes. Ce qui implique qu'il est possible d'avoir de 252 Nodes suivant un masque de sous-réseau
/24
à 65 532 pour/16
attentionLe CIDR choisi lors de la création du cluster ne pourra pas être modifié.
-
Choisissez la version d'OpenShift à utiliser.
attentionVeuillez noter que la version ne pourra pas être modifiée manuellement une fois le cluster créé. La liste des versions disponibles et supportées par NumSpot seront inscrit dans le menu déroulant. La version du cluster OpenShift pourra être mise à jour manuellement depuis la Console OpenShift, et si la version actuelle du cluster devient dépréciée, NumSpot se reserve le droit de le mettre à jour pour garantir le support.
-
Cliquez sur le bouton Créer un node pool pour ouvrir une modal de création de node pool. Reportez-vous à la documentation pour ajouter un nodepool.
infoLa création du cluster sera refusée si:
- Le nombre indiqué de Node d'un Nodepool est inférieur à 1
- Le nombre de Node est inférieur à 2 au sein du cluster (tous Nodepools confondus)
- Le nom du Nodepool est
master
qui est un nom réservé - Les Nodepools n'ont pas un nom unique au sein du cluster
Une modal de création de node pool va apparaître.
-
Cliquez sur le bouton Créer le cluster pour valider la création du cluster.
Prérequis
- Un compte NumSpot
- Un espace NumSpot auquel le compte est associé
- Un compte avec le rôle
OpenShift Admin
sur l'espace - Un jeton de connexion associé au compte NumSpot utilisé
Ce qu'il faut savoir avant de créer un cluster
Choix de la version
La liste des versions disponibles peut être consultée depuis une API qui liste toutes les versions disponibles.
La plage d'IP adressable (CIDR)
Le CIDR est utilisé pour définir toutes les adresses IP privées des Nodes du cluster. Il doit avoir un masque de réseau compris entre 16 et 24.
Les 4 premières adresses IP calculées depuis le CIDR donné seront reservées pour la gestion du cluster, donc un masque en /24 donnera la possibilité à 256 - 4 = 252 Nodes.
Ce qui implique qu'il est possible d'avoir de 252 Nodes suivant un masque de sous-réseau /24
à 65 532 pour /16
La plage voulu devra être incluse dans les classes d'adresses IP privées:
Classe | CIDR (par defaut) | Première IP | Dernière IP | Limite de Node |
---|---|---|---|---|
Classe A | 10.0.0.0/8 | 10.0.0.0 | 10.255.255.255 | 16 777 212 |
Classe B | 172.16.0.0/12 | 172.16.0.0 | 172.31.255.255 | 1 048 572 |
Classe C | 192.168.0.0/16 | 192.168.0.0 | 192.168.255.255 | 65 532 |
Nomenclature du nom de cluster
L'utilisateur a la possibilité de définir un nom au cluster pour le reconnaître plus facilement. Le choix du nom n'a aucun impact technique sur le cluster, il est uniquement utile à l'utilisateur.
Le nom doit respecter ces critères:
- Être unique au sein de l'espace NumSpot auquel il appartient
- Se composer uniquement des caractères alphanumérique (
a-zA-Z0-9
et-
) - Contenir entre 3 et 64 caractères
Définir des Nodepools
À la création d'un cluster, il est possible de
- Déclarer plusieurs Nodepools
- Déclarer un ou plusieurs Nodepools avec GPU, en faisant attention à leur disponibilité (consulter les profils de Node)
Mais la création du cluster sera refusée si:
- Le nombre indiqué de Node d'un Nodepool est inférieur à 1
- Le nombre de Node est inférieur à 2 au sein du cluster (tous Nodepools confondus)
- Le nom du Nodepool est
master
qui est un nom réservé - Les Nodepools n'ont pas un nom unique au sein du cluster
Le nombre de Nodes dans tous les Nodepools confondus ne doit pas excédé la capacité imposée par le CIDR choisi.
Création d'un cluster
Les données qu'il faut avoir
SPACE_ID
est l'identifiant de l'espace NumSpot dans lequel il est souhaité de créer le clusterREGION
est la région dans laquelle l'espace NumSpot est associé, un espace est disponible qu'à partir d'une seule régionACCESS_TOKEN
est le jeton (token) généré via la connexion (consulter la génération d'un token d'accès)
Requête de création d'un cluster
export REGION="myregion"
export SPACE_ID="myspaceid"
export ACCESS_TOKEN="myaccesstoken"
curl -X POST https://api.$REGION.numspot.com/openshift/spaces/$SPACE_ID/clusters \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "myCluster",
"cidr": "172.1.0.0/16",
"version": "4.15",
"nodepools": [
{
"name": "np-1",
"nodeProfile": "SMALL",
"nodeCount": 2,
}
]
}'
Il est aussi possible de déclarer plusieurs Nodepools dont certains avec GPU à la création du cluster:
curl -X POST https://api.$REGION.numspot.com/openshift/spaces/$SPACE_ID/clusters \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"name": "myCluster",
"cidr": "172.1.0.0/16",
"version": "4.15",
"nodepools": [
{
"name": "np-1",
"nodeProfile": "SMALL",
"nodeCount": 2,
},
{
"name": "np-2",
"nodeProfile": "MEDIUM",
"nodeCount": 1,
"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 201 Created
:
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", // generated by the API
"name": "myCluster",
"operation": {
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type": "CREATE_CLUSTER",
"status": "PENDING",
"targetLink": "https://..../spaces/{spaceId}/clusters/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"selfLink": "https://..../spaces/{spaceId}/operations/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
...
}
}
Dans le cas où la requête n'a pas été acceptée, une erreur en JSON avec des détails sera renvoyée.
{
"type": "https://docs.numspot.com/docs/domains/cloud/errors#invalid_cidr",
"title": "Invalid CIDR",
"detail": "The 'cidr' is not a valid one, mask MUST be between '16' and '24'",
"instance": "https://..../spaces/{spaceId}/clusters/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"mask": 12
}