La base de données Cassandra stocke les données à l'aide de volumes persistants créés dynamiquement. Pour garantir le bon fonctionnement de la base de données, Apigee nécessite la configuration d'une définition StorageClass reposant sur un disque dur SSD.
Si aucun disque SSD n'est actuellement configuré pour Cassandra, 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 15h standard kubernetes.io/gce-pd Delete Immediate true 15h standard-rwo (default) pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h - Décrivez la StorageClass nommée
standard-rwo
. Notez que son type estpd-balanced
:kubectl describe sc standard-rwo
Exemple :
kubectl describe sc standard-rwo
Name: standard-rwo IsDefaultClass: Yes Annotations: components.gke.io/layer=addon,storageclass.kubernetes.io/is-default-class=false Provisioner: pd.csi.storage.gke.io Parameters: type=pd-balanced AllowVolumeExpansion: True MountOptions: <none> ReclaimPolicy: Delete VolumeBindingMode: WaitForFirstConsumer 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-rwo \ -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) kubernetes.io/gce-pd Delete WaitForFirstConsumer true 14h premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h standard kubernetes.io/gce-pd Delete Immediate true 15h standard-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h