לפני שמתחילים
כשמשדרגים את האופרטור AlloyDB Omni, מסד הנתונים מופעל מחדש, אלא אם מתקיימים כל התנאים הבאים:
- אתם משדרגים את גרסה 1.1.1 של אופרטור AlloyDB Omni לגרסה חדשה יותר.
- אתם משתמשים במסד הנתונים AlloyDB Omni בגרסה 15.5.5 ואילך.
- AlloyDB AI לא מופעל. מידע נוסף זמין במאמר בנושא יצירת אשכול מסדי נתונים באמצעות AlloyDB AI.
אם מסד הנתונים מופעל מחדש, לא צפוי אובדן נתונים.
החל מגרסה 15.7.1 של מסד הנתונים AlloyDB Omni, זמינות גבוהה (HA) באשכולות של מסד הנתונים AlloyDB Omni שמבוססים על Kubernetes משתמשת בארכיטקטורה חדשה כדי לספק חיזוקים ושיפורים נוספים ליכולות של הגדרה אוטומטית, מעבר לגיבוי כשל ותיקון של HA.
אם משדרגים את גרסת מסד הנתונים של AlloyDB Omni מגרסה 15.7.0 (או מגרסה קודמת) לגרסה 15.7.1 (או לגרסה מאוחרת יותר), או אם מורידים את הגרסה, צריך להשבית את הזמינות הגבוהה ולהפעיל אותה מחדש אחרי שהתהליך מסתיים.
קביעת הגרסאות הנוכחיות
כדי לבדוק את הגרסה של AlloyDB Omni שבה נעשה שימוש באשכול מסד הנתונים, מריצים את הפקודה הבאה:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'מחליפים את הפרטים הבאים:
DB_CLUSTER_NAME: השם של אשכול מסד הנתונים. זהו אותו שם של אשכול מסדי הנתונים שהצהרתם עליו כשיצרתם אותו. מידע נוסף זמין במאמר בנושא התקנה של AlloyDB Omni ב-Kubernetes.
NAMESPACE: מרחב השמות של Kubernetes של אשכול מסד הנתונים.
אם מריצים את גרסה 1.0.0 ואילך של אופרטור AlloyDB Omni, הפקודה הזו מדפיסה את הגרסה של AlloyDB Omni שבה נעשה שימוש באשכול מסד הנתונים.
כדי לבדוק את הגרסה של אופרטור AlloyDB Omni שמותקנת באשכול Kubernetes, מריצים את הפקודה הבאה:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'אם מריצים גרסה 1.0.0 ואילך של אופרטור AlloyDB Omni, הפלט הוא מספר הגרסה של אופרטור AlloyDB Omni שפועל באשכול Kubernetes.
אם אתם מפעילים גרסה של אופרטור AlloyDB Omni מוקדמת יותר מ-1.0.0, אתם צריכים לפעול לפי ההוראות שבקטע שדרוג מגרסה של אופרטור AlloyDB Omni שקדמה ל-1.0.0. אחרת, בודקים את מספרי גרסת היעד.
בדיקת מספרי גרסאות היעד
אם אתם מריצים גרסה של אופרטור AlloyDB Omni 1.0.0 ואילך, השלבים הבאים תלויים בגרסה של AlloyDB Omni שאתם רוצים לשדרג אליה. מספר הגרסה של AlloyDB Omni כולל את הרכיבים הבאים:
- מספר הגרסה הראשית של התאימות ל-PostgreSQL
- מספר הגרסה המשנית של התאימות ל-PostgreSQL
- מספר גרסת התיקון של מהדורת AlloyDB Omni הזו
לדוגמה, גרסה 18.3.0 של AlloyDB Omni תומכת ב-PostgreSQL בגרסה 15.7, ואין לה תיקון (patch) של מהדורת AlloyDB Omni.
בוחרים את אפשרות ההתקנה שמתאימה לגרסת היעד:
| תרחיש התקנה | עדכון השלבים |
|---|---|
| אתם רוצים לשדרג לגרסה של AlloyDB Omni שתומכת בגרסה חדשה יותר של PostgreSQL. | שדרוג האופרטור של AlloyDB Omni ואשכול מסד הנתונים. לכל קבוצה של מהדורות AlloyDB Omni שתומכות בגרסה משנית ספציפית של PostgreSQL יש מספר גרסה משלה של אופרטור AlloyDB Omni. כדי לוודא שגרסת האופרטור של AlloyDB Omni תואמת לגרסת האופרטור שלכם, אפשר להיעזר בטבלת התאימות של גרסאות האופרטור של AlloyDB Omni. |
| אתם רוצים לשדרג רק לגרסה חדשה יותר של תיקון ב-AlloyDB Omni. | שדרוג רק של אשכול מסד הנתונים. |
| כל שאר התרחישים | פועלים לפי השלבים במאמר בנושא שדרוג האופרטור של AlloyDB Omni. |
שדרוג אופרטור AlloyDB Omni
כדי לשדרג את אופרטור AlloyDB Omni, פועלים לפי השלבים הבאים:
Helm Kubernetes
מעדכנים את ההגדרות המותאמות אישית של מקורות המידע (CRD) על ידי משיכת התרשים והחלתן באופן ידני:
helm pull oci://gcr.io/alloydb-omni/alloydbomni-operator --version 1.8.2 --untarkubectl apply -f ./alloydbomni-operator/crdsמשדרגים את תרשים Helm של אופרטור AlloyDB Omni:
helm upgrade alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \ --version 1.8.2 \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
OLM OperatorHub.io
בזמן ההתקנה, משתמשים באסטרטגיית אישור ידנית או אוטומטית לשדרוג. אם בוחרים באסטרטגיית שדרוג אוטומטי, OLM משדרג את גרסת האופרטור לגרסה העדכנית כשהיא יוצאת. אם בוחרים אסטרטגיית שדרוג ידנית, צריך לפעול לפי ההוראות של OLM כדי לאשר את תוכנית ההתקנה כשגרסה חדשה הופכת לזמינה. מידע נוסף זמין במאמר אישור שדרוגים באופן ידני דרך מינויים.
OLM Red Hat OpenShift
בזמן ההתקנה, משתמשים באסטרטגיית אישור ידנית או אוטומטית לשדרוג. אם בוחרים באסטרטגיית שדרוג אוטומטי, OLM משדרג את גרסת האופרטור לגרסה העדכנית כשהיא יוצאת. אם בוחרים אסטרטגיית שדרוג ידנית, צריך לפעול לפי ההוראות של OLM כדי לאשר את תוכנית ההתקנה כשגרסה חדשה הופכת לזמינה. מידע נוסף זמין במאמר אישור שדרוגים באופן ידני דרך מינויים.
אתם יכולים לאשר את שדרוג האופרטור באמצעות מסוף האינטרנט של OpenShift לגרסת OpenShift שבה אתם משתמשים.
עדכון של אשכולות מסדי נתונים ב-OpenShift מגרסה 1.4.1 או מגרסאות קודמות
החל מגרסה 1.5.0, אופרטור AlloyDB Omni תואם לאילוץ ברירת המחדל של הקשר האבטחתי restricted-v2 של OpenShift. במסדי נתונים חדשים של OpenShift שמופעלים בגרסה controlPlaneAgentsVersion 1.5.0 ואילך, מערכת OpenShift מזריקה מזהי משתמש שרירותיים לעומסי העבודה של מסד הנתונים. במסדי נתונים שמופעלת בהם גרסה ישנה יותר, עומסי העבודה של מסד הנתונים צריכים להמשיך לפעול כמזהה משתמש ברירת המחדל 999.
כדי לעדכן אשכול מסדי נתונים ב-OpenShift מגרסה controlPlaneAgentsVersion
קודמת ל-1.5.0, פועלים לפי השלבים הבאים:
נותנים לחשבון השירות של אשכול מסד הנתונים הרשאה להשתמש במגבלת הקשר האבטחתי
anyuid. כך עומס העבודה של מסד הנתונים יכול לפעול כמזהה משתמש ברירת המחדל.oc adm policy add-scc-to-user anyuid system:serviceaccount:NAMESPACE:DB_CLUSTER_NAME-saמוסיפים הערה לאשכול מסד הנתונים באמצעות
openshift.io/scc=anyuid. אופרטור AlloyDB Omni בגרסה 1.5.0 ואילך מזהה את ההערה הזו ומריץ את עומסי העבודה של מסד הנתונים כמזהה משתמש ברירת מחדל ב-OpenShift, במקום לאפשר לפלטפורמה להוסיף מזהה שרירותי.kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE openshift.io/scc=anyuidממשיכים לשלבים לעדכון אשכול מסד הנתונים לגרסה האחרונה.
עדכון של אשכולות מסדי הנתונים
כדי לעדכן את dbCluster, פועלים לפי השלבים הבאים:
אם אתם משדרגים אשכול מסדי נתונים של AlloyDB Omni עם זמינות גבוהה מגרסת מסד נתונים 15.7.0 (או גרסה קודמת) לגרסה 15.7.1 (או גרסה מאוחרת יותר), אתם צריכים להשבית את הזמינות הגבוהה. כדי לעשות את זה, פועלים לפי השלבים הבאים.
- מגדירים את
numberOfStandbysל-0במניפסט של האשכול.
spec: availability: numberOfStandbys: 0- כדי להשבית את הזמינות הגבוהה, צריך להחיל מחדש את המניפסט.
- מגדירים את
מעדכנים את הגרסאות
databaseVersionו-controlPlaneAgentsVersionבמניפסט של האשכול ומחילים מחדש את המניפסט.מריצים את הדוגמה הבאה, שהיא חלק מקובץ מניפסט שמציין את גרסה 18.3.0 של
databaseVersionואת גרסה 1.8.2 שלcontrolPlaneAgentsVersion:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME namespace: NAMESPACE spec: databaseVersion: "18.3.0" controlPlaneAgentsVersion: "1.8.2" ...מחליפים את המשתנה הבא:
-
DB_CLUSTER_NAME: השם של אשכול מסד הנתונים. זהו אותו שם של אשכול מסדי הנתונים שהצהרתם עליו כשיצרתם אותו. למידע נוסף, אפשר לעיין במאמר בנושא התקנת AlloyDB Omni ב-Kubernetes. -
NAMESPACE: מרחב השמות של Kubernetes של אשכול מסד הנתונים.
-
מחכים שהשדרוג יסתיים בהצלחה.
אם השבתתם את ה-HA לפני השדרוג, צריך לבצע את השלבים הבאים.
מגדירים את
numberOfStandbysבחזרה למספר שלפני השדרוג במניפסט של האשכול.מחילים מחדש את המניפסט כדי להפעיל מחדש את הזמינות הגבוהה.
לעדכון alloydb_omni_instance_postgresql_wait_time_second_total
אם אתם משתמשים במדד alloydb_omni_instance_postgresql_wait_time_second_total, אתם צריכים לעדכן אותו ל-alloydb_omni_instance_postgresql_wait_time_us_total. כדי להשתמש בשני המדדים, צריך להשתמש באופרטור OR של Prometheus.
(promQL A) OR (promQL A, but replace all occurrences of alloydb_omni_instance_postgresql_wait_time_second_total to alloydb_omni_instance_postgresql_wait_time_us_total)
אם משתמשים ב-seconds כיחידה למדד הזה, צריך להמיר אותו ל-us.
מידע נוסף זמין בהערות המוצר.