מסד הנתונים של Cassandra משתמש בכרכים מתמשכים שנוצרים באופן דינמי כדי לאחסן נתונים. כדי שהמסד נתונים יפעל בצורה תקינה, צריך להגדיר ב-Apigee הגדרה של StorageClass שמגובה על ידי כונן SSD.
אם כרגע לא מוגדר SSD ל-Cassandra, במאמר הזה מוסבר איך ליצור StorageClass חדש שמשתמש ב-SSD ולהגדיר אותו כסוג ברירת המחדל. כשמפעילים את Cassandra, המערכת משתמשת ב-StorageClass הזה כברירת מחדל.
שינוי ברירת המחדל של 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 15h standard kubernetes.io/gce-pd Delete Immediate true 15h standard-rwo (default) pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h - תאר את StorageClass בשם
standard-rwo. שימו לב שהסוג שלו הואpd-balanced:kubectl describe sc standard-rwo
לדוגמה:
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>
- יוצרים קובץ חדש בשם
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-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"}}}' - מריצים את הפקודה הזו כדי לוודא ש-StorageClass החדש שמוגדר כברירת מחדל נקרא
apigee-sc:kubectl get sc
לדוגמה:
kubectl get scNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE apigee-sc (default) kubernetes.io/gce-pd 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