StorageClass-Konfiguration

Für die Cassandra-Datenbank verwendet die Hybridlaufzeit zum Speichern von Daten dynamisch erstellte nichtflüchtige Volumes. Zum ordnungsgemäßen Konfigurieren von Cassandra müssen Sie eine StorageClass-Definition konfigurieren, die von einem Solid-State-Laufwerk (SSD) unterstützt wird.

In diesem Thema wird erläutert, wie Sie eine neue StorageClass erstellen, die SSD verwendet, und als Standardklasse festlegen. Wenn Cassandra gestartet wird, wird diese Standard-StorageClass verwendet.

Standard-StorageClass ändern

In den folgenden Schritten wird erläutert, wie Sie eine StorageClass erstellen und als Standardklasse festlegen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Standardspeicherklasse ändern.

  1. Rufen Sie den Namen der aktuellen Standard-StorageClass ab:
    kubectl get sc

    Beispiel:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      standard (default)   kubernetes.io/gce-pd   98d
    
  2. Beschreiben Sie die StorageClass mit dem Namen standard. Der Typ lautet pd-standard:
    kubectl describe sc standard

    Beispiel:

    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. Erstellen Sie eine neue Datei mit dem Namen storageclass.yaml:
  4. Fügen Sie diesen Code in die Datei ein. Beachten Sie, dass der Name der neuen Klasse apigee-sc ist. Sie können einen beliebigen Namen verwenden. Beachten Sie auch, dass der Speichertyp pd-ssd ist:
    ---
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: "apigee-sc"
    provisioner: kubernetes.io/gce-pd
    parameters:
      type: pd-ssd
      replication-type: none
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    
  5. Wenden Sie die neue StorageClass auf Ihren Kubernetes-Cluster an:
    kubectl apply -f storageclass.yaml
  6. Führen Sie die folgenden beiden Befehle aus, um die Standard-StorageClass zu ändern:
    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. Führen Sie den folgenden Befehl aus, um zu prüfen, ob die neue Standard-StorageClass apigee-sc heißt:
    kubectl get sc

    Beispiel:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      apigee-sc (default)  kubernetes.io/gce-pd   1d
      standard             kubernetes.io/gce-pd   98d