針對 Cassandra 資料庫,混合式執行階段會使用 動態建立的永久磁碟區來儲存資料。如要正確設定 Cassandra,您必須設定由固態硬碟 (SSD) 支援的 StorageClass 定義。
本主題說明如何建立新的 StorageClass,並將其設為預設類別。Cassandra 啟動時,會使用這個預設 StorageClass。
變更預設儲存空間級別
下列步驟說明如何建立 StorageClass 並將其設為預設類別。詳情請參閱 Kubernetes 說明文件中的「 變更預設的儲存空間級別」一節。
- 取得目前預設 StorageClass 的名稱:kubectl get sc 例如: kubectl get scNAME 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
- 說明名為 standard的 StorageClass。請注意,其類型為pd-standard:kubectl describe sc standard 例如: kubectl describe sc standardName: 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>
- 建立名為 storageclass.yaml的新檔案。
- 在檔案中新增下列程式碼:請注意,新類別的名稱是 apigee-sc。您可以使用任何名稱。另請注意,儲存類型為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 
- 將新的 StorageClass 套用至 Kubernetes 叢集:kubectl apply -f storageclass.yaml 
- 執行下列兩個指令,變更預設 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"}}}'
- 執行以下指令,確認新的預設 StorageClass 名稱為 apigee-sc:kubectl get sc 例如: kubectl get scNAME 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