Topik ini menjelaskan langkah-langkah yang harus Anda lakukan untuk mengonfigurasi komponen database Cassandra untuk penginstalan produksi Apigee Hybrid.
Memastikan ketersediaan tinggi
Cluster Cassandra memerlukan tiga zona ketersediaan untuk mempertahankan ketersediaan di lingkungan produksi. Jika satu zona tidak aktif, zona yang tersisa akan terus merespons permintaan saat zona yang tidak aktif kembali online. Jika dua zona atau lebih tidak berfungsi, Cassandra tidak akan dapat merespons permintaan hingga setidaknya dua zona online. Apigee merekomendasikan agar zona diaktifkan kembali dalam waktu tiga jam untuk meminimalkan risiko kehilangan pembaruan data.
Menerapkan setelan penyimpanan Cassandra
Untuk menerapkan perubahan pada setelan penyimpanan Cassandra di file penggantian, jalankan perintah berikut:
$APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES_FILE
$APIGEECTL_HOME/apigeectl apply -f overrides/OVERRIDES_FILE
Mengonfigurasi setelan penyimpanan Cassandra
Untuk penginstalan produksi Apigee Hybrid, Google merekomendasikan agar Anda menambahkan setelan penyimpanan dan heap berikut ke file penggantian dan menerapkannya ke cluster:
cassandra:
...
replicaCount: 3
storage:
storageclass: your-preferred-ssd-storage #If not using default storage for your cluster
capacity: 500Gi
resources:
requests:
cpu: 7
memory: 15Gi
maxHeapSize: 8192M
heapNewSize: 1200MreplicaCount
Nilai replicaCount harus kelipatan 3. Untuk menentukan nilai replicaCount yang diinginkan, pertimbangkan hal-hal berikut:
- Perkirakan permintaan traffic untuk proxy Anda.
- Lakukan pengujian beban dan buat prediksi yang wajar tentang pemakaian CPU Anda.
- Anda dapat menentukan nilai
replicaCountyang berbeda di berbagai wilayah. - Anda dapat memperluas
replicaCountdi masa mendatang dalam file penggantian.
Untuk memeriksa setelan replicaCount saat ini, jalankan perintah berikut di cluster Anda:
kubectl get sts -n NAMESPACE apigee-cassandra-default -o=jsonpath='{.spec.replicas}'
storageclass
Untuk produksi, penyimpanan Cassandra harus berupa SSD StorageClass. Tetapkan nilai
storageclass jika Anda tidak menggunakan StorageClass Kubernetes default untuk cluster. Anda dapat memeriksa StorageClass default dengan perintah berikut.
kubectl get storageclass
Output Anda akan terlihat seperti ini:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 6d23h standard kubernetes.io/gce-pd Delete Immediate true 6d23h standard-rwo (default) pd.csi.storage.gke.io Delete WaitForFirstConsumer true 6d23h
Ikuti petunjuk di Konfigurasi StorageClass jika Anda ingin mengubah StorageClass Kubernetes default.
Untuk memeriksa setelan storageclass saat ini, jalankan perintah berikut di cluster Anda:
kubectl get pvc -n NAMESPACE cassandra-data-apigee-cassandra-default-0 -o=jsonpath='{.metadata.annotations.volume\.beta\.kubernetes\.io/storage-class}'
capacity
Untuk penginstalan produksi, Google merekomendasikan kapasitas penyimpanan minimal 500Gi (gibibyte). Anda dapat mengubah kapasitas penyimpanan sebagai respons terhadap kebutuhan penyimpanan cluster. Lihat petunjuk di Memperluas volume persisten Cassandra untuk mengubah kapasitas penyimpanan.
Untuk memeriksa setelan kapasitas saat ini, jalankan perintah berikut di cluster Anda:
kubectl get pvc -n NAMESPACE cassandra-data-apigee-cassandra-default-0 -o=jsonpath='{.spec.resources.requests.storage}'
cpu dan memory
Untuk penginstalan produksi, Google merekomendasikan minimal 7 CPU dan 15 GiB (gibibyte) per pod. Saat menentukan cassandra.resources.requests.cpu dan
cassandra.resources.requests.memory, pertimbangkan volume traffic serta permintaan CPU dan
Memori proxy Anda.
Untuk memeriksa setelan CPU saat ini, jalankan perintah berikut di cluster Anda:
kubectl get pods -n NAMESPACE apigee-cassandra-default-0 -o=jsonpath='{.spec.containers[].resources.requests.cpu}'
Untuk memeriksa setelan memori saat ini, jalankan perintah berikut di cluster Anda:
kubectl get pods -n NAMESPACE apigee-cassandra-default-0 -o=jsonpath='{.spec.containers[].resources.requests.memory}'
maxHeapSize dan heapNewSize
Properti ini menentukan heap memori maksimum yang dialokasikan untuk proses Cassandra dan jumlah peningkatan memori, masing-masing dalam megabyte (ukuran heap ditentukan dalam megabyte, bukan mebibyte). Untuk lingkungan produksi, Google merekomendasikan nilai berikut:
maxHeapSize: 8192MheapNewSize: 1200M
Lihat dokumentasi penyedia platform Kubernetes Anda untuk mengetahui nilai ukuran heap yang optimal.
Untuk memeriksa setelan maxHeapSize saat ini, jalankan perintah berikut di cluster Anda:
kubectl get sts -n NAMESPACE apigee-cassandra-default -o=jsonpath='{.spec.template.spec.containers[].env[?(@.name=="MAX_HEAP_SIZE")]}'
Untuk memeriksa setelan heapNewSize saat ini, jalankan perintah berikut di cluster Anda:
kubectl get sts -n NAMESPACE apigee-cassandra-default -o=jsonpath='{.spec.template.spec.containers[].env[?(@.name=="HEAP_NEWSIZE")]}'
Untuk mengetahui informasi selengkapnya tentang setelan properti ini, lihat Referensi properti konfigurasi.
Menggunakan penyimpanan SSD untuk deployment produksi
Untuk database Cassandra, runtime hybrid hanya mendukung penggunaan volume persisten yang dibuat secara dinamis untuk menyimpan data. Drive disk solid state (SSD) lokal tidak didukung.
Jika saat ini Anda belum mengonfigurasi SSD untuk Cassandra, Anda harus mengonfigurasi definisi StorageClass yang didukung oleh solid-state drive (SSD) dan menjadikannya sebagai class default. Lihat Konfigurasi StorageClass untuk mengetahui langkah-langkah mendetail.
Ikuti petunjuk di Konfigurasi StorageClass jika Anda ingin mengubah StorageClass Kubernetes default.