Définir la ressource StorageClass par défaut

Cette page explique comment définir la StorageClass par défaut d'un cluster GKE sur Bare Metal.

Présentation

GKE sur Bare Metal peut s'intégrer au stockage de blocs ou de fichiers via l'un des mécanismes suivants:

StorageClass par défaut

Lorsque vous demandez un espace de stockage à l'aide d'un objet PersistentVolumeClaim (PVC), vous pouvez spécifier une ressource StorageClass. Si vous ne spécifiez pas de ressource StorageClass, la ressource StorageClass par défaut est utilisée si celle-ci est configurée dans le cluster. GKE sur Bare Metal ne configure pas de StorageClass par défaut. Par exemple, supposons que vous créiez un objet PVC qui ne spécifie pas de ressource StorageClass. Le contrôleur de volume traite la revendication en fonction de la ressource StorageClass par défaut.

Modifier la StorageClass par défaut

En tant qu'administrateur de cluster, vous souhaiterez peut-être modifier la classe de stockage par défaut. Ainsi, toutes les requêtes de stockage qui ne spécifient pas de StorageClass seront traitées en fonction de la ressource StorageClass de votre choix. Cette section décrit la procédure à suivre pour modifier la valeur par défaut.

Déployer un nouveau système de stockage

Vous pouvez déployer un nouveau système de stockage et tous les composants logiciels permettant d'intégrer le nouveau mécanisme de stockage à un cluster Kubernetes. Par exemple, vous devrez peut-être installer un pilote CSI dans le cluster.

Marquer toute ressource StorageClass définie par défaut comme étant non définie par défaut

Recherchez dans votre cluster la ressource StorageClass par défaut, s'il elle existe, et marquez-la comme ne correspondant pas à la valeur par défaut. Pour obtenir des instructions, consultez la section Modifier la ressource StorageClass par défaut.

Créer une ressource StorageClass

Créez un fichier manifeste pour une nouvelle ressource StorageClass. Incluez l'annotation storageclass.kubernetes.io/is-default-class: "true". Exemple :

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  ...
  name: my-storage-class
  ...
parameters:
  ...
provisioner: [MY_PROVISIONER]
...

Enregistrez votre fichier manifeste sous forme de fichier YAML, puis créez la ressource StorageClass :

kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply -f [MANIFEST_FILE]

[MANIFEST_FILE] est le chemin d'accès au fichier manifeste de votre nouvelle ressource StorageClass.

Étapes suivantes