Konfigurasi StorageClass

Untuk database Cassandra, runtime hybrid menggunakan volume persisten yang dibuat secara dinamis untuk menyimpan data. Untuk mengonfigurasi Cassandra dengan benar, Anda harus mengonfigurasi definisi StorageClass yang didukung oleh Solid State Drive (SSD).

Topik ini menjelaskan cara membuat StorageClass baru yang menggunakan SSD dan menjadikannya class default. Saat Cassandra dimulai, Cassandra akan menggunakan StorageClass default ini.

Mengubah StorageClass default

Langkah-langkah berikut menjelaskan cara membuat StorageClass dan menjadikannya class default. Untuk mengetahui informasi selengkapnya, lihat Mengubah kelas penyimpanan default dalam dokumentasi Kubernetes.

  1. 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                   40m
      standard (default)    kubernetes.io/gce-pd   Delete
      Immediate             true                   40m
      standard-two          pd.csi.storage.gke.io  Delete
      WaitForFirstConsumer  true                   40m
    
  2. Jelaskan StorageClass yang bernama standard. Perhatikan bahwa jenisnya adalah pd-standard:
    kubectl describe sc standard

    Contoh:

    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. Buat file baru dengan nama storageclass.yaml.
  4. Tambahkan kode ini ke file. Perhatikan bahwa nama class baru adalah apigee-sc. Anda dapat menggunakan nama apa pun yang Anda suka. Selain itu, perhatikan bahwa jenis penyimpanannya adalah 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. Terapkan StorageClass baru ke cluster Kubernetes Anda:
    kubectl apply -f storageclass.yaml
  6. Jalankan dua perintah berikut untuk mengubah StorageClass default:
    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. 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                   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