Migrer un datastore vers SPBM

Ce document explique comment migrer un datastore vSphere vers la gestion des règles de stockage (SPBM).

1.29: Preview
1.16 et versions antérieures: non disponible

Contexte

Vous pouvez spécifier un datastore dans les fichiers de configuration du cluster de quatre manières différentes:

L'héritage de ces champs est le suivant:

adminCluster.vCenter.datastore ->
  userCluster.vCenter.datastore ->
    (userCluster.masterNode.vsphere.datastore and userCluster.nodePools[i].vsphere.datastore

Exemples :

  • Si userCluster.vCenter.datastore est vide, il hérite de la valeur de adminCluster.vCenter.datastore.

  • Si userCluster.nodePools[i].vsphere.datastore est vide, il hérite de la valeur de userCluster.vCenter.datastore.

De même, vous pouvez spécifier une règle de stockage dans quatre endroits:

L'héritage des champs storagePolicyName est identique à celui des champs datastore.

Avant de commencer

Il s'agit d'une migration à sens unique. Il n'est pas possible de revenir à l'état précédent.

Effectuer une migration pour un cluster d'utilisateurs

  1. Obtenez la configuration actuelle du cluster:

    gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME \
        --output-dir ./gen-files
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG : chemin du fichier kubeconfig du cluster d'administrateur.

    • USER_CLUSTER_NAME : nom du cluster d'utilisateur.

    Dans ./gen-files, localisez user-cluster.yaml.

    Pour en savoir plus sur l'obtention du fichier de configuration, consultez Générer des fichiers de configuration à partir d'un cluster.

  2. Pour effectuer une migration pour l'un des champs du datastore:

    1. Définissez le champ datastore sur la chaîne vide.
    2. Spécifiez une valeur pour storagePolicyName.
    3. Exécutez gkectl update.

    Voici un exemple de migration pour masterNode.vsphere.datastore:

    Ajustez le user-cluster.yaml généré récemment:

    masterNode.vsphere.datastore=""
    masterNode.vsphere.masterNode.vsphere.storagePolicyName="control-plane-storage-policy"
    

    Mettez à jour le cluster d'utilisateur :

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur

    • USER_CLUSTER_CONFIG: chemin d'accès de user-cluster.yaml que vous avez généré à l'étape précédente.

Remarques

Si vous créez un pool de nœuds après une migration, le nouveau pool suit les règles d'héritage en fonction du cluster mis à jour.

Par exemple, supposons que vous ayez migré vCenter.datastore vers une règle de stockage.

Si vous créez un pool de nœuds et que vous laissez nodePools[i].vsphere.datastore et nodePools[i].vsphere.storagePolicyName vides, le nouveau pool de nœuds hérite de la règle de stockage spécifiée dans vCenter.storagePolicyName.