Configurazione StorageClass

Per il database Cassandra, il runtime ibrido utilizza volumi permanenti creati dinamicamente per archiviare i dati. Per configurare correttamente Cassandra, devi configurare una definizione StorageClass supportata da un'unità a stato solido (SSD).

Questo argomento spiega come creare un nuovo oggetto StorageClass che utilizza l'unità SSD e impostarlo come classe predefinita. All'avvio, Cassandra utilizzerà questa classe di archiviazione predefinita.

Modificare la classe di archiviazione predefinita

I passaggi riportati di seguito spiegano come creare una classe StorageClass e impostarla come predefinita. Per ulteriori informazioni, consulta Modificare la classe di archiviazione predefinita nella documentazione di Kubernetes.

  1. Recupera il nome della classe StorageClass predefinita corrente:
    kubectl get sc

    Ad esempio:

    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
  2. Descrivi la classe di archiviazione denominata standard. Tieni presente che il suo tipo è pd-standard:
    kubectl describe sc standard

    Ad esempio:

    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>
  3. Crea un nuovo file denominato storageclass.yaml.
  4. Aggiungi questo codice al file. Tieni presente che il nome del nuovo corso è apigee-sc. Puoi utilizzare il nome che preferisci. Inoltre, tieni presente che il tipo di archiviazione è pd-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
  5. Applica il nuovo StorageClass al cluster Kubernetes:
    kubectl apply -f storageclass.yaml
  6. Esegui i due comandi seguenti per modificare StorageClass predefinito:
    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"}}}'
  7. Esegui questo comando per verificare che la nuova classe di archiviazione predefinita sia denominata apigee-sc:
    kubectl get sc

    Ad esempio:

    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