StorageClass 設定

針對 Cassandra 資料庫,混合式執行階段會使用 動態建立的永久磁碟區來儲存資料。如要正確設定 Cassandra,您必須設定由固態硬碟 (SSD) 支援的 StorageClass 定義。

本主題說明如何建立新的 StorageClass,並將其設為預設類別。Cassandra 啟動時,會使用這個預設 StorageClass。

變更預設儲存空間級別

下列步驟說明如何建立 StorageClass 並將其設為預設類別。詳情請參閱 Kubernetes 說明文件中的「 變更預設的儲存空間級別」一節。

  1. 取得目前預設 StorageClass 的名稱:
    kubectl get sc

    例如:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      standard (default)   kubernetes.io/gce-pd   98d
    
  2. 說明名為 standard 的 StorageClass。請注意,其類型為 pd-standard
    kubectl describe sc standard

    例如:

    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. 建立名為 storageclass.yaml 的新檔案。
  4. 在檔案中新增下列程式碼:請注意,新類別的名稱是 apigee-sc。您可以使用任何名稱。另請注意,儲存類型為 pd-ssd
    ---
    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. 將新的 StorageClass 套用至 Kubernetes 叢集:
    kubectl apply -f storageclass.yaml
  6. 執行下列兩個指令,變更預設 StorageClass:
    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. 執行以下指令,確認新的預設 StorageClass 名稱為 apigee-sc
    kubectl get sc

    例如:

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