Mettre à niveau les nœuds
Pour assurer les nouvelles fonctionnalités délivrées par la communauté de Kubernetes et les mises à jour de sécurité, il est nécessaire d'effectuer des mises à niveau des nœuds du cluster Kubernetes.
La suppression de nœuds 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 des workers
- Mettre à jour les paquets OS des workers
- Mettre à niveau les workers
- Mettre à niveau le planel de contrôle
- Créer un cluster
- Supprimer un cluster
- API
Prérequis
- Un compte NumSpot.
- Un espace NumSpot auquel le compte est associé.
- Un compte avec le rôle
Kubernetes Admin
sur l'espace ou des accès RBAC qui accordent les droits nécessaires à la mettre à niveau les workers dans le cluster ciblé. - Un jeton de connexion associé au compte NumSpot utilisé.
Mettre à niveau les workers
Choix de la version
La liste des versions disponibles peut être consultée depuis une API qui liste toutes les versions disponibles.
À noter qu'il est impossible pour les workers d'avoir une version supérieure à celle des masters.
L'écart de version entre la version initiale de Kubernetes du cluster et celle demandée ne doit pas dépasser deux versions MINOR
.
Il est donc requis pour une mise à niveau MINOR
, d'effectuer d'abord une mise à niveau vers la dernière version PATCH
, puis procéder à une mise à niveau MINOR
.
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 mise à niveau des workers
export REGION="myregion"
export SPACE_ID="myspaceid"
export ACCESS_TOKEN="myaccesstoken"
export CLUSTER_ID="myclusterid"
curl -X POST https://api.$REGION.numspot.com/kubernetes/spaces/$SPACE_ID/clusters/$CLUSTER_ID/workers/upgrade \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"version": "1.29.5"
}'
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
:
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"operationType": "UpgradeWorkers",
"status": "PENDING",
"progress": "During step",
"target": "https://..../kubernetes/spaces/{spaceId}/clusters/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"selfLink": "https://..../kubernetes/spaces/{spaceId}/operations/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"targetName": "myCluster",
"clusterid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
...
}