Mettre à niveau les masters
La plateforme Kubernetes managé de NumSpot manipule directement les nœuds d'un cluster. Les masters d'un cluster ne sont pas accessible par l'utilisateur, mais l'évolution des versions de Kubernetes de ces nœuds est nécessaire pour rester dans le cycle de vie managé par NumSpot (voir la gestion des version).
L'écart de version entre les workers et les masters ne peut pas dépasser une version mineure.
La mise à niveau des masters d'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:
- Mettre à niveau les masters
- Supprimer des nœuds
- Mettre à jour les paquets OS des nœuds
- Mettre à niveau les nœuds
- Mettre à niveau le planel de contrôle
- Créer un cluster
- Supprimer un cluster
- Console
- 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 mise à niveau les masters dans le cluster ciblé. - Un jeton de connexion associé au compte NumSpot utilisé.
Mettre à niveau les masters
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 que les workers aient une version supérieur aux 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 de procéder à la 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 masters
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/masters/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": "UpgradeMasters",
"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",
...
}