Définir la ressource StorageClass par défaut

Cette page explique comment définir la ressource StorageClass par défaut pour un cluster Anthos sur Bare Metal.

Présentation

Les clusters Anthos sur Bare Metal peuvent s'intégrer au stockage de blocs ou de fichiers à l'aide de 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. Les clusters Anthos sur Bare Metal ne configurent pas de ressource 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.

Étape suivante