Gérer les classes de stockage
Vous pouvez consulter les classes de stockage existantes, définir une classe de stockage par défaut, identifier le backend de la classe de stockage et supprimer des classes de stockage.
Afficher les classes de stockage existantes
-
Pour afficher les classes de stockage Kubernetes existantes, exécutez la commande suivante :
kubectl get storageclass
-
Pour afficher les détails d'une classe de stockage Kubernetes, exécutez la commande suivante :
kubectl get storageclass <storage-class> -o json
-
Pour afficher les classes de stockage synchronisées de Trident, exécutez la commande suivante :
tridentctl get storageclass
-
Pour afficher les détails de la classe de stockage synchronisée de Trident, exécutez la commande suivante :
tridentctl get storageclass <storage-class> -o json
Définir une classe de stockage par défaut
Kubernetes 1.6 a introduit la possibilité de définir une classe de stockage par défaut. Il s'agit de la classe de stockage qui sera utilisée pour provisionner un volume persistant si un utilisateur n'en spécifie pas dans une revendication de volume persistant (PVC).
-
Définissez une classe de stockage par défaut en définissant l’annotation
storageclass.kubernetes.io/is-default-classsur true dans la définition de la classe de stockage. Conformément à la spécification, toute autre valeur ou l’absence de l’annotation est interprétée comme false. -
Vous pouvez configurer une classe de stockage existante comme classe de stockage par défaut à l'aide de la commande suivante :
kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
-
De même, vous pouvez supprimer l'annotation de classe de stockage par défaut en utilisant la commande suivante :
kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
Il existe également des exemples dans le bundle d'installation de Trident qui incluent cette annotation.
|
|
Il ne devrait y avoir qu'une seule classe de stockage par défaut dans votre cluster à la fois. Kubernetes ne vous empêche pas techniquement d'en avoir plusieurs, mais il se comportera comme s'il n'y avait aucune classe de stockage par défaut. |
Identifier le backend d'une classe de stockage
Voici un exemple du type de questions auxquelles vous pouvez répondre avec le JSON que tridentctl génère pour les objets backend Trident. Cela utilise l' jq utilitaire, que vous devrez peut-être installer d'abord.
tridentctl get storageclass -o json | jq '[.items[] | {storageClass: .Config.name, backends: [.storage]|unique}]'
Supprimer une classe de stockage
Pour supprimer une classe de stockage de Kubernetes, exécutez la commande suivante :
kubectl delete storageclass <storage-class>
<storage-class> devrait être remplacé par votre classe de stockage.
Tous les volumes persistants qui ont été créés via cette classe de stockage resteront intacts, et Trident continuera de les gérer.
|
|
Trident impose un espace vide fsType pour les volumes qu'il crée. Pour les backends iSCSI, il est recommandé de l'imposer parameters.fsType dans le StorageClass. Vous devez supprimer les StorageClasses existants et les recréer avec parameters.fsType spécifié.
|