Pour la base de données Cassandra, l'environnement d'exécution hybride utilise des volumes persistants créés dynamiquement pour stocker des données. Pour configurer correctement Cassandra, vous devez configurer une définition StorageClass sauvegardée par un disque dur SSD.
Cet article explique comment créer une classe StorageClass qui utilise SSD et en fait la classe par défaut. Lorsque la base de données Cassandra démarre, elle utilise cette classe StorageClass par défaut.
Modifier la StorageClass par défaut
Les étapes suivantes expliquent comment créer une classe StorageClass et en faire la classe par défaut. Pour plus d'informations, consultez la section Modifier la classe de stockage par défaut dans la documentation de Kubernetes.
- Obtenez le nom de la classe StorageClass actuelle par défaut :
kubectl get sc
Exemple :
kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 40m standard (default) kubernetes.io/gce-pd Delete Immediate true 40m standard-two pd.csi.storage.gke.io Delete WaitForFirstConsumer true 40m - Décrivez la StorageClass nommée
standard
. Notez que son type estpd-standard
:kubectl describe sc standard
Exemple :
kubectl describe sc standard
Name: standard IsDefaultClass: Yes Annotations: storageclass.beta.kubernetes.io/is-default-class=true Provisioner: kubernetes.io/gce-pd Parameters: type=pd-standard AllowVolumeExpansion: <unset> MountOptions: <none> ReclaimPolicy: Delete VolumeBindingMode: Immediate Events: <none> - Créez un fichier appelé
storageclass.yaml
. - Ajoutez ce code au fichier. Notez que le nom de la nouvelle classe est
apigee-sc
. Vous pouvez utiliser n'importe quel nom. Notez également que le type de stockage estpd-ssd
:--- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: "apigee-sc" provisioner: pd.csi.storage.gke.io parameters: type: pd-ssd replication-type: none volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
- Appliquez la nouvelle StorageClass à votre cluster Kubernetes :
kubectl apply -f storageclass.yaml
- Exécutez les deux commandes suivantes pour modifier la StorageClass par défaut :
kubectl patch storageclass standard \ -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
kubectl patch storageclass apigee-sc \ -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
- Exécutez cette commande pour vérifier que la nouvelle StorageClass par défaut est appelée
apigee-sc
:kubectl get sc
Exemple :
kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE apigee-sc (default) pd.csi.storage.gke.io Delete WaitForFirstConsumer true 67s premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 49m standard kubernetes.io/gce-pd Delete Immediate true 49m standard-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 49m