{i>Database<i} Cassandra menggunakan yang dibuat secara dinamis untuk menyimpan data. Agar {i>database<i} dapat berfungsi dengan baik, Apigee mengharuskan Anda mengonfigurasi StorageClass definisi yang didukung oleh {i> solid-state drive<i} (SSD).
Jika saat ini Anda tidak memiliki SSD yang dikonfigurasi untuk Cassandra, topik ini menjelaskan cara membuat StorageClass baru yang menggunakan SSD dan menjadikannya class default. Saat Cassandra dimulai, Cassandra akan menggunakan StorageClass default ini.
Langkah-langkah yang diuraikan dalam topik ini untuk konfigurasi StorageClass hanya berlaku untuk class baru Pemasangan Cassandra. Jika sudah menginstal class Cassandra, Anda harus menonaktifkan class yang ada untuk mengonfigurasi definisi StorageClass. Perubahan pada definisi StorageClass cluster Cassandra yang ada setelah penginstalan tidak didukung.
Apigee merekomendasikan untuk men-deploy hybrid di dua region atau lebih, untuk menonaktifkan dan menginstal ulang satu region sembari mempertahankan data di region sekunder. Atau, Anda dapat menggunakan pencadangan hybrid non-CSI untuk memulihkan data dalam penginstalan satu region, setelah menonaktifkan dan mengonfigurasi definisi StorageClass yang diperlukan.
Mengubah StorageClass default
Langkah-langkah berikut menjelaskan cara membuat StorageClass dan menjadikannya class default. Untuk selengkapnya informasi, lihat Ubah kelas penyimpanan default dalam dokumentasi Kubernetes.
- Dapatkan nama StorageClass default saat ini:
kubectl get sc
Contoh:
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 - Menjelaskan StorageClass bernama
standard-rwo
. Perhatikan bahwa jenisnya adalahpd-balanced
:kubectl describe sc standard-rwo
Contoh:
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>
- Buat file baru dengan nama
storageclass.yaml
. - Tambahkan kode ini ke file. Perhatikan bahwa nama class baru
adalah
apigee-sc
. Anda dapat menggunakan nama apa pun sesuai keinginan. Perhatikan juga bahwa jenis penyimpanannya adalahpd-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
- Terapkan StorageClass baru ke cluster Kubernetes Anda:
kubectl apply -f storageclass.yaml
- Jalankan dua perintah berikut untuk mengubah StorageClass default:
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"}}}'
- Jalankan perintah ini untuk memverifikasi bahwa StorageClass default baru dipanggil
apigee-sc
:kubectl get sc
Contoh:
kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE apigee-sc (default) pd.csi.storage.gke.io 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
- Jelaskan StorageClass untuk memverifikasi nilai IsDefaultClass.
kubectl describe sc apigee-sc
Name: apigee-sc IsDefaultClass: Yes Annotations: kubectl.kubernetes.io/last-applied-configuration={"allowVolumeExpansion":true,"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"apigee-sc"},"parameters":{"replication-type":"none","type":"pd-ssd"},"provisioner":"pd.csi.storage.gke.io","volumeBindingMode":"WaitForFirstConsumer"} ,storageclass.kubernetes.io/is-default-class=true Provisioner: pd.csi.storage.gke.io Parameters: replication-type=none,type=pd-ssd AllowVolumeExpansion: True MountOptions:
ReclaimPolicy: Delete VolumeBindingMode: WaitForFirstConsumer Events: kubectl describe sc standard-rwo
Name: standard-rwo IsDefaultClass: No 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:
ReclaimPolicy: Delete VolumeBindingMode: WaitForFirstConsumer Events: