אפשר להגדיר את התצורה של מופע מאגר הקריאה בקובץ המניפסט של מופע מסד הנתונים. לכל מופע של מאגר קריאה צריך ליצור קובץ מניפסט ייחודי. אפשר לפרוס כמה מופעים של מאגר קריאה, עם עד 20 צמתים של מאגר קריאה בסך הכול לכל אשכול מסדי נתונים.
כל מופע של מאגר קריאה תופס את אותו נפח אחסון כמו המופע שהוא משכפל.
יצירה של מופע מאגר לקריאה עם שכפול אסינכרוני
כדי ליצור מכונת מאגר קריאה משוכפל אסינכרוני של AlloyDB Omni, מבצעים את השלבים הבאים:
יוצרים את המניפסט של מכונת מסד הנתונים כדי להגדיר את סוג המכונה של מאגר הקריאה:
DBInstance: metadata: name: READ_POOL_INSTANCE_NAME spec: instanceType: ReadPool nodeCount: READ_POOL_NODE_COUNT readPoolPort: READ_POOL_PORT dbcParent: name: DB_CLUSTER_NAMEמחליפים את מה שכתוב בשדות הבאים:
READ_POOL_INSTANCE_NAME: שם המשאב, לדוגמהread-pool-instance-1.
DB_CLUSTER_NAME: השם של אשכול מסדי הנתונים שאליו שייכת המכונה.
READ_POOL_NODE_COUNT: (אופציונלי) מספר הצמתים במופע של מאגר לקריאה. הערך הזה קובע את קיבולת המחשוב הכוללת של המופע. אפשר להגדיר עד 20 צמתים של מאגר לקריאה לכל אשכול מסדי נתונים.
READ_POOL_PORT: (אופציונלי) היציאה במאזן העומסים (VIP) שאליה ינותב תעבורת הקריאה למופע הזה של מאגר הקריאה. ברירת המחדל היא5434.
מחילים את המפרט
DBInstance.alloydbctlalloydbctl apply -d "DEPLOYMENT_SPECIFICATION_PATH" -r "DBINSTANCE_SPECIFICATION"מחליפים את המשתנים הבאים:
DEPLOYMENT_SPECIFICATION_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
DBINSTANCE_SPECIFICATION: הנתיב לקובץ המניפסטDBInstanceשיצרתם בשלב הקודם.
Ansible
ansible-playbook DBINSTANCE_PLAYBOOK -i "DEPLOYMENT_SPECIFICATION_PATH" \ -e resource_spec="DBINSTANCE_SPECIFICATION"מחליפים את המשתנים הבאים:
DBINSTANCE_PLAYBOOK: הנתיב ל-playbook שיצרתם עבור מפרטDBInstance.
DEPLOYMENT_SPECIFICATION_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
DBINSTANCE_SPECIFICATION: הנתיב לקובץ המניפסטDBInstanceשיצרתם בשלב הקודם.
בדיקת סטטוס המופע
כדי לוודא שהמופע של מאגר הקריאה זמין, מאחזרים את הסטטוס של המשאב DBInstance:
alloydbctl
alloydbctl get -d "DEPLOYMENT_SPECIFICATION_PATH" -t DBInstance -n "READ_POOL_INSTANCE_NAME" -o yamlמחליפים את המשתנים הבאים:
DEPLOYMENT_SPECIFICATION_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
READ_POOL_INSTANCE_NAME: השם של מופע מאגר הקריאה שציינתם במניפסט.
Ansible
מריצים את חוברת ההדרכה google.alloydbomni_orchestrator.status. מידע נוסף מופיע במאמר בנושא קבלת סטטוס של אשכול.
ansible-playbook STATUS_PLAYBOOK_PATH -i "DEPLOYMENT_SPECIFICATION_PATH" \
-e resource_type="DBInstance" -e resource_name="READ_POOL_INSTANCE_NAME"מחליפים את המשתנים הבאים:
STATUS_PLAYBOOK_PATH: הנתיב ל-playbook שיצרתם כדי לקבל את הסטטוס של האשכול.
DEPLOYMENT_SPECIFICATION_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
READ_POOL_INSTANCE_NAME: השם של מופע מאגר הקריאה שציינתם במניפסט.
בודקים את הקטע .status.conditions בתשובה כדי לראות את הפרטים הבאים:
- אם הסטטוס של התנאי
Availableהואtrue, זה מצביע על כך שמופע מאגר הקריאה יכול להציג שאילתות, אבל יכול להיות שהוא לא משכפל נתונים ממופע מסד הנתונים. - אם הסטטוס של התנאי
Streamingהואtrue, זה מצביע על כך שמופע מאגר הקריאה מחובר למופע מסד הנתונים שלכם ומזרים שינויים באופן פעיל.
כשאי אפשר להגיע למופע של מסד הנתונים, המופע של מאגר הקריאה ממשיך להציג שאילתות. במקרה כזה, סטטוס הזמינות יהיה true וסטטוס הסטרימינג יהיה false.
אחרי שמגדירים את מופע מאגר הקריאה, כל ההוספות, העדכונים והמחיקות של שורות במופע מסד הנתונים הראשי הופכים לקריאים במופע מאגר הקריאה.
התחברות למכונה של מאגר הקריאה
אחרי שמופע מאגר הקריאה הופך ל-Available, מאזן העומסים מגדיר באופן אוטומטי קצה קדמי ייעודי לקריאה בלבד, שמנתב את תעבורת הנתונים לצמתי מאגר הקריאה.
כדי לראות את נקודת הקצה של החיבור, בודקים את status.endpoints בפלט הסטטוס של DBInstance. נקודת הקצה לקריאה בלבד, לדוגמה, VIP_IP:5434, מחלקת את השאילתות הנכנסות לקריאה בלבד בין כל הצמתים התקינים במאגר הקריאה.
כדי להתחבר למכונה במאגר לקריאה, משתמשים בכלי הלקוח psql עם כתובת ה-IP והיציאה מנקודת הקצה:
psql -h VIP_IP -p READ_POOL_PORT -U postgresמחליפים את מה שכתוב בשדות הבאים:
-
VIP_IP: כתובת ה-IP של נקודת הקצה לקריאה בלבד. -
READ_POOL_PORT: היציאה של נקודת הקצה לקריאה בלבד.
אם תנסו לבצע פעולות כתיבה בנקודת הקצה הזו, הפעולות ייכשלו באופן מיידי עם שגיאה שמציינת שאי אפשר לבצע הוספות בעסקה לקריאה בלבד.
ניהול המופע של מאגר הקריאה
הכלי לניהול RPM תומך בהתאמה דינמית לעומס ובמחיקה של מופעים של מאגר קריאה ללא השבתה של האשכול.
הגדלת מופע של מאגר לקריאה
כדי להוסיף או להסיר צמתים ממאגר קריאה קיים, מעדכנים את השדה nodeCount בקובץ המניפסט DBInstance.
פותחים את קובץ המניפסט
DBInstanceומשנים את הערךnodeCountכך שישקף את מספר הצמתים שנבחרו.מחילים את המניפסט המעודכן באמצעות שיטת הפריסה המועדפת, הפקודה
alloydbctl applyאו קובץ ה-playbook של Ansible.
הכלי לתזמור RPM מקצה או מסיר באופן אוטומטי את הצמתים של הרפליקה לקריאה, ומאזן העומסים מתעדכן באופן דינמי כדי להפנות את תעבורת הנתונים לצמתים הזמינים במאגר.
מחיקת מופע של מאגר קריאה
כדי למחוק מופע של מאגר קריאה, משתמשים בפקודה alloydbctl delete:
alloydbctl delete -t DBInstance -n READ_POOL_INSTANCE_NAMEמחליפים את READ_POOL_INSTANCE_NAME בשם של מופע מאגר הקריאה שרוצים למחוק.
כשמוחקים מופע של מאגר קריאה, כלי התזמור מפסיק את שירות העותק לקריאה ומנקה את הצמתים. מאזן העומסים מסיר את הניתוב באופן אוטומטי בלי לגרום לקיפאון של קידום או להשפיע על התנועה למופעים הראשיים או למופעי ההמתנה.