Proses ini memungkinkan Anda memperluas volume persisten yang digunakan oleh database Cassandra hybrid Apigee untuk mengakomodasi kebutuhan penyimpanan yang lebih besar tanpa perlu membuat node baru hanya untuk menyediakan penyimpanan lebih besar.
Ringkasan
Komponen cassandra
campuran Apigee menggunakan volume persisten untuk menyimpan data. Ukuran volume persisten ditentukan selama penginstalan dan konfigurasi awal. Ukuran
penyimpanan awal ini adalah nilai yang tidak dapat diubah dan tidak dapat diubah. Oleh karena itu, setiap node baru yang ditambahkan ke cluster akan menggunakan ukuran volume persisten yang sama.
Anda dapat meningkatkan ukuran volume persisten yang ada dengan melakukan perubahan secara langsung pada Klaim volume Persisten, tetapi node baru akan tetap menggunakan ukuran volume persisten awal yang lebih kecil.
Jika database Cassandra hybrid Anda hampir mencapai kapasitas penyimpanannya, Anda dapat menggunakan prosedur ini untuk menambah volume persisten yang ada dan juga memungkinkan node baru untuk memperluas volume persisten.
Luaskan volume persisten Cassandra
- Perbarui ukuran volume ke ukuran yang diinginkan:
kubectl -n apigee edit pvc
- Periksa kapasitas volume yang telah diperbarui:
kubectl get pvc -n apigee
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-92234ba7-941b-4dab-82c6-8a5288a2c8d4 100Gi RWO standard 21m cassandra-data-apigee-cassandra-default-1 Bound pvc-6be911fc-91f7-465d-a02e-933428ee10b2 100Gi RWO standard 20m cassandra-data-apigee-cassandra-default-2 Bound pvc-14ba34e4-fd5c-4d59-8413-a331dcad3404 100Gi RWO standard 19m
- Cadangkan, hapus, dan buat ulang statefulset dengan ukuran penyimpanan baru. Perintah berikut
akan membuat file konfigurasi
apigee-cassandra-default.yaml
yang dapat Anda gunakan untuk merekam konfigurasi Cassandra saat ini. Kemudian, Anda dapat mengubah dan menerapkan konfigurasi ini:kubectl -n apigee get sts apigee-cassandra-default -o yaml > apigee-cassandra-default.yaml
kubectl -n apigee delete sts --cascade=orphan apigee-cassandra-default
- Pastikan operasi
delete
selesai:kubectl get sts -n apigee
Output Anda akan terlihat seperti:
No resources found in apigee namespace.
- Perbarui ukuran penyimpanan di file
apigee-cassandra-default.yaml
dengan ukuran penyimpanan yang baru. Ukuran ini harus sesuai dengan ukuran yang ingin Anda terapkan dioverrides.yaml
. Contoh:resources: requests: storage: 100Gi
- Terapkan kembali konfigurasi statefulset dengan ukuran penyimpanan yang telah diperbarui:
kubectl apply -f apigee-cassandra-default.yaml
- Verifikasi bahwa statefulset dibuat ulang dengan benar:
kubectl get sts -n apigee
Output Anda akan terlihat seperti ini:
NAME READY AGE apigee-cassandra-default 3/3 6m56s
- Perbarui file penggantian dengan ukuran volume baru yang Anda tentukan saat mengedit pvc:
cassandra: storage: capacity: 100Gi
- Terapkan konfigurasi yang telah diperbarui ke cluster:
../apigeectl apply --datastore -f overrides/overrides.yaml
Parsing file: config/values.yaml Parsing file: overrides/overrides.yaml cleansing older AD's (v1alpha1) istio resources... Invoking "kubectl apply" with YAML config... apigeedatastore.apigee.cloud.google.com/apigee-cassandra unchanged
- Periksa apakah st yang baru dibuat memiliki ukuran penyimpanan yang telah diperbarui:
kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
storage: 100Gi
-
Periksa apakah volume data pod C* diperbarui dengan ukuran baru:
kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data