לפני שמתחילים
לפני שמתקינים את הרכיבים, צריך לוודא שהתנאים המוקדמים הבאים מתקיימים:
- התקנת התזמור: ודאו שאוסף Ansible או ה-CLI של התזמור ב-AlloyDB Omni מותקנים בצומת הבקרה.
- הקצאת מכונות: צריך להקצות מכונות וירטואליות של RHEL9 בהתאם לארכיטקטורה שבחרתם, למשל עצמאית או זמינות גבוהה.
- הגדרת הרשת וחומת האש: מוודאים שכל היציאות הנדרשות פתוחות בין הצמתים. זה כולל את
5432לתעבורת נתונים של מסדי נתונים, את2379/2380ל-etcdואת יציאות הניהול6703,6702ו-6700שמשמשות את תוכנה לניהול אשכולות ו-Node Manager. - בדיקת יחסי תלות של חבילות תוכנה: אם אתם מנהלים חבילות תוכנה דרך מאגר Yum פרטי, אתם צריכים לפעול לפי ההוראות של ניהול המאגר כדי לכלול במאגר קובצי RPM שתלויים בו.
הכנת מלאי מפרט הפריסה
כדי להבין את הטופולוגיה של האשכול, כלי הניהול משתמש בקובץ מפרט פריסה בפורמט של מלאי Ansible. יוצרים קובץ בשם deployment_spec.yaml עם פרטי הצומת.
alloydbomni:
vars:
cluster_manager:
name: "MANAGEMENT_CLUSTER_NAME"
etcd:
setup: SETUP_ETCD
config_forcewrite: FORCE_OVERWRITE_ETCD
# version: ETCD_VERSION # Optional: defaults to the latest version
# repo_url: ETCD_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni:
major_version: "PG_VERSION" # Mandatory: for example, 18
# version: ALLOYDB_OMNI_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni_monitor:
# version: ALLOYDB_OMNI_MONITOR_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni_cluster_manager:
# version: ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni_node_manager:
# version: ALLOYDB_OMNI_NODE_MANAGER_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
pgbouncer:
# version: ALLOYDB_OMNI_PGBOUNCER_VERSION # Optional
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
pgbackrest:
# version: ALLOYDB_OMNI_PGBACKREST_VERSION # Optional
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
children:
primary_instance_nodes:
hosts:
DB_HOST_1:
DB_HOST_2:
DB_HOST_3:
load_balancer_nodes: # Optional. Host group for load balancer. If empty, no load balancer is configured.
hosts:
LB_HOST_1:
LB_HOST_2:
etcd_nodes: # Optional: Host group where etcd is set up
hosts:
ETCD_HOST_1:
ETCD_HOST_2:
ETCD_HOST_3:
cluster_manager_nodes: # Optional: Host group for cluster manager
hosts:
CM_HOST_1:
CM_HOST_2:
CM_HOST_3:
מחליפים את מה שכתוב בשדות הבאים:
-
MANAGEMENT_CLUSTER_NAME: השם של אשכול הניהול. השם יכול להיות זהה לשם של אשכול מסד הנתונים אם הם מותקנים באותם צמתים, לדוגמה,my-management-cluster. -
SETUP_ETCD: מציין אם המנהל צריך להגדיר ולאתחל את אשכולetcd. כשהערך הואtrue, כלי הניהול מבצע את ההגדרה והאתחול הראשוניים שלetcdבצמתים הייעודיים שלetcd. אם לא הוגדרו צומתיetcdב-deployment_spec, ברירת המחדל היא להגדיר אתetcdבצומתי תוכנה לניהול אשכולות. הפרמטר הזה תואם למפתחetcd.setupבמפרט הפריסה. -
FORCE_OVERWRITE_ETCD: קובע אם להחליף קובץ תצורה קיים שלetcdבמהלך תהליך ההגדרה. מגדירים את הערךtrueכדי להחליף את קובץ התצורה הקיים בצומתי היעד. אחרת, מגדירים את הערךfalse(ברירת המחדל) כדי לשמור על התצורה הקיימת ולמנוע שיבושים לא מכוונים בשירות. -
ETCD_VERSION: גרסת חבילת etcd להתקנה, לדוגמה,3.4.13. -
ETCD_REPOSITORY_URL: כתובת ה-URL של המאגר שמכיל את ה-RPM שלetcd. -
PG_VERSION: הגרסה הראשית של PostgreSQL בהתקנה של AlloyDB Omni, לדוגמה18. -
ALLOYDB_OMNI_VERSION: הגרסה של מנוע מסד הנתונים AlloyDB Omni להתקנה, לדוגמה,18.1.0. אם לא מציינים גרסה, כלי התזמור מתקין את הגרסה העדכנית ביותר. -
ALLOYDB_OMNI_COMMON_REPO_URL: כתובת ה-URL של המאגר המשותף שמכיל את חבילות ה-RPM של AlloyDB Omni, monitor, PgBouncer ו-pgBackRest. -
GPG_KEY: המיקום של המפתח הציבורי של Google לאימות GNU Privacy Guard (GPG) – לדוגמה,https://dl.google.com/linux/linux_signing_key.pub. אפשר גם להגדיר את המדיניות הזו כנתיב אם המפתח מורד לקובץ בכל מכונות ה-VM, לדוגמה,/tmp/linux_signing_key.pub. -
ALLOYDB_OMNI_MONITOR_VERSION: גרסת חבילת המעקב של AlloyDB Omni שרוצים להתקין. ברירת המחדל היא הגרסה הזמינה האחרונה. -
ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: הגרסה של תוכנה לניהול אשכולות של AlloyDB Omni שרוצים להתקין. אם לא מציינים גרסה, כלי התזמור מתקין את הגרסה העדכנית ביותר. -
ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: כתובת ה-URL של המאגר שמכיל את תוכנה לניהול אשכולות ואת Node Manager של AlloyDB Omni בפורמט RPM. -
ALLOYDB_OMNI_NODE_MANAGER_VERSION: הגרסה של מנהל הצמתים של AlloyDB Omni להתקנה. אם לא מציינים גרסה, כלי התזמור מתקין את הגרסה העדכנית ביותר. -
ALLOYDB_OMNI_PGBOUNCER_VERSION: גרסת חבילת PgBouncer שרוצים להתקין. -
ALLOYDB_OMNI_PGBACKREST_VERSION: הגרסה של חבילת pgBackRest להתקנה. -
DB_HOST_1, DB_HOST_2, DB_HOST_3: כתובות ה-IP או שמות הדומיינים שמוגדרים במלואם (FQDN) של המכונות הווירטואליות שמוגדרות כצמתים של מסד הנתונים. -
LB_HOST_1,LB_HOST_2: כתובות ה-IP או שמות הדומיינים שמוגדרים במלואם (FQDN) של המכונות הווירטואליות שמוגדרות כצמתים של איזון עומסים. -
ETCD_HOST_1, ETCD_HOST_2, ETCD_HOST_3: כתובות ה-IP או ה-FQDN של המכונות הווירטואליות שמוגדרות כצמתים שלetcd. -
CM_HOST_1, CM_HOST_2, CM_HOST_3: כתובות ה-IP או שמות הדומיין המלאים של המכונות הווירטואליות שמוגדרות כצמתים לניהול האשכול.
התקנת הרכיבים
אפשר להתקין את רכיבי AlloyDB Omni ואת התלויות שלהם באמצעות Ansible או להתקין ידנית את חבילות התוכנה בכל צומת.
התקנת רכיבי AlloyDB Omni באמצעות Ansible
השיטה המומלצת להתקנה היא באמצעות תפקיד Ansible שסופק.
יוצרים playbook בשם
install.yamlשמפנה לתפקיד ההתקנה מאוסף כלי התזמור.- name: Install AlloyDB Omni cluster components hosts: all become: true vars: ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.installמחליפים את מה שכתוב בשדות הבאים:
-
SSH_USER: שם המשתמש שבו אתם משתמשים כדי להתחבר לצמתים באשכול באמצעות SSH. -
SSH_KEY_PATH: הנתיב לקובץ של מפתח ה-SSH הפרטי בצומת הבקרה, לדוגמה~/.ssh/id_rsa.
-
כדי להוריד ולהתקין את הרכיבים בכל הצמתים שצוינו, מריצים את ה-playbook באמצעות קובץ המלאי.
ansible-playbook -i deployment_spec.yaml install.yaml
התקנת רכיבי AlloyDB Omni ללא Ansible
אם אין לכם סביבת Ansible ואתם מתכננים להשתמש ב-Orchestrator CLI לניהול אשכולות, תצטרכו להתקין את כל הרכיבים באופן ידני, כי Orchestrator CLI לא מספק התקנה אוטומטית של רכיבים.
התקנת רכיבים בכל הצמתים
בטבלה הבאה מפורטים כל סוגי הצמתים והרכיבים התואמים (RPM) שצריך להתקין.
| צומת | רכיבי תוכנה (RPM) | נתונים |
|---|---|---|
control node |
alloydbomni_orchestrator |
|
primary_instance_nodes |
alloydbomni18alloydbomni_monitoralloydbomni_node_managerkeepalivedpgbackrestpgbouncer |
צריך את Keepalived ו-pgbouncer רק בסביבות שאין בהן מאזני עומסים. |
etcd_nodes |
etcd |
אפשר להתקין את ETCD בצמתים של מנהל האשכולות כשאין צמתים ייעודיים ל-ETCD. |
cluster_manager_nodes |
alloydbomni_cluster_manager |
אפשר להתקין את תוכנה לניהול אשכולות בצמתי מסד הנתונים (primary_instance_nodes) כשאין צמתים ייעודיים לתוכנה לניהול אשכולות. |
load_balancer_nodes |
alloydbomni_node_managerhaproxykeepalivedpgbouncer |
התוכנות keepalived ו-pgbouncer מותקנות בצמתים של מאזן העומסים רק בסביבה שבה מוגדרים מאזני עומסים. |
פקודות התקנה:
-
REPO_GPG_KEY: המיקום של המפתח הציבורי של Google לאימות GPG, לדוגמהhttps://dl.google.com/linux/linux_signing_key.pub. אפשר גם להגדיר את המדיניות כנתיב קובץ אחרי שמורידים אותו וממקמים אותו בכל המכונות הווירטואליות, לדוגמה,file:///tmp/linux_signing_key.pub.
התקנת רכיבי AlloyDB Omni בצמתי etcd
בכל הצמתים של
etcd, יוצרים קובץ תצורה של מאגר YUM בשם/etc/yum.repos.d/alloydb-etcd.repo:[etcd] name=AlloyDB Omni ETCD baseurl=ETCD_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYהתקנת
etcd:sudo dnf install -y etcdמאתחלים את
etcdעל ידי עריכת קובץ התצורה. צריך לבצע אתחול שלetcdלפני שמתקינים רכיבים של AlloyDB Omni.במכשיר
etcd_nodes, עורכים את/etc/etcd/etcd.conf:ETCD_NAME=ETCD_HOST ETCD_DATA_DIR=/var/lib/etcd/data ETCD_LISTEN_PEER_URLS=https://ETCD_HOST_IP:2380,https://127.0.0.1:2380 ETCD_LISTEN_CLIENT_URLS=https://ETCD_HOST_IP:2379,https://127.0.0.1:2379 ETCD_INITIAL_ADVERTISE_PEER_URLS=https://ETCD_HOST_IP:2380 ETCD_ADVERTISE_CLIENT_URLS=https://ETCD_HOST_IP:2379 ETCD_INITIAL_CLUSTER=ETCD_HOST_1=https://ETCD_HOST_IP_1:2380,ETCD_HOST_2=https://ETCD_HOST_IP_2:2380,ETCD_HOST_3=https://ETCD_HOST_IP_3:2380 ETCD_INITIAL_CLUSTER_STATE=new ETCD_INITIAL_CLUSTER_TOKEN=CLUSTER_NAME ETCD_ENABLE_V2=true ETCD_CLIENT_CERT_AUTH=true ETCD_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt ETCD_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt ETCD_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key ETCD_PEER_CLIENT_CERT_AUTH=true ETCD_PEER_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt ETCD_PEER_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt ETCD_PEER_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.keyכאשר:
-
ETCD_HOST: המארח/ת הנוכחי/תetcd. -
ETCD_HOST_IP: כתובת ה-IP הנוכחית של המארחetcd. -
ETCD_HOST_1: השם של הצומת הראשון באשכולetcd. -
ETCD_HOST_IP_1: כתובת ה-IP של הצומת הראשון באשכולetcd. -
ETCD_HOST_2: השם של הצומת השני באשכולetcd. -
ETCD_HOST_IP_2: כתובת ה-IP של הצומת השני באשכולetcd. -
ETCD_HOST_3: השם של הצומת השלישי באשכולetcd. -
ETCD_HOST_IP_3: כתובת ה-IP של הצומת השלישי באשכולetcd. -
CLUSTER_NAME: שם האשכול כפי שמופיע במישור הבקרה.
-
מגדירים את חומת האש כך שתאפשר תקשורת TCP ביציאות
2379ו-2380.מפעילים את etcd:
sudo systemctl enable etcd sudo systemctl start etcd
התקנת רכיבי AlloyDB Omni בצמתי מופעים ראשיים
בכל
primary_instance_nodes, יוצרים קובץ תצורה של מאגר YUM בשם/etc/yum.repos.d/alloydb-omni.repo:[alloydbomni_core] name=AlloyDB Omni Core baseurl=ALLOYDB_OMNI_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEY [alloydbomni_common] name=AlloyDB Omni Common baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEY priority=1 [alloydbomni_orchestrator] name=AlloyDB Omni Orchestrator baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYמתקינים את
alloydbomni18,alloydbomni_monitor,alloydbomni_node_managerו-pgbackrestבכלprimary_instance_nodes:sudo dnf install -y alloydbomni18 alloydbomni_monitor alloydbomni_node_manager pgbackrest(אופציונלי) אם אין לכם צמתים של איזון עומסים (
load_balancer_nodes), מתקינים אתpgbouncerואתkeepalived:sudo dnf install -y pgbouncer keepalivedאחרי שמתקינים את
alloydbomni_node_manager, צריך להגדיר אתalloydbomni_node_managerלפני שמפעילים את השירותים. מוודאים שקובץ מפרט הפריסה (deployment_spec.yaml) מועתק לכל המכונות הווירטואליות הרלוונטיות:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
התקנת רכיבי AlloyDB Omni בצמתים של תוכנה לניהול אשכולות
בכל הצמתים של תוכנה לניהול אשכולות, יוצרים קובץ תצורה של מאגר YUM בשם
/etc/yum.repos.d/alloydb-orchestrator.repo:[alloydbomni_orchestrator] name=AlloyDB Omni Orchestrator baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYמתקינים את התוכנה לניהול אשכולות:
sudo dnf install -y alloydbomni_cluster_managerאחרי שמתקינים את
alloydbomni_cluster_managerומפעילים אתetcd, צריך להגדיר אתalloydbomni_cluster_managerלפני שמפעילים את השירותים.sudo /usr/local/bin/alloydbomni_cm_config apply -d deployment_spec.yaml
התקנת רכיבי AlloyDB Omni בצמתים של מאזן העומסים
בכל הצמתים של מאזן העומסים, יוצרים קובץ תצורה של מאגר YUM בשם
/etc/yum.repos.d/alloydb-omni-lb.repo:[pgbouncer] name=AlloyDB Omni Common baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEY priority=1 [alloydbomni_node_manager] name=AlloyDB Omni Orchestrator baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYמתקינים את הרכיבים של מאזן העומסים:
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyאחרי שמתקינים את
alloydbomni_node_managerומפעילים אתetcd, צריך להגדיר אתalloydbomni_node_managerלפני שמפעילים את השירותים. מוודאים שקובץ מפרט הפריסה (deployment_spec.yaml) מועתק לכל המכונות הווירטואליות הרלוונטיות:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
סיכום של רכיבי AlloyDB Omni שהותקנו
תהליך ההתקנה פורס כמה חבילות RPM עיקריות, בהתאם לסוג הצומת:
| סוג הצומת | רכיבים מותקנים | הערות |
|---|---|---|
| צמתים של מופעים ראשיים | alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest |
רכיבים למנוע מסד הנתונים, למעקב ולניהול. |
| צמתים של מאזן עומסים | haproxy |
זה שינוי אופציונלי. ההתקנה תדלג אם הצמתים של מאזן העומסים לא זמינים. |
| צמתים של תוכנה לניהול אשכולות | alloydbomni_cluster_manager |
אפשר להתקין אותו בצמתי מסד נתונים אם אין צמתים ייעודיים זמינים. אם לא מציינים צמתים של תוכנה לניהול אשכולות, רכיב תוכנה לניהול אשכולות מותקן ב-primary_instance_nodes. |
| צומתי etcd | etcd |
אפשר להתקין אותם בצומתי מנהל האשכולות במקרה הצורך. אם לא צוינו צומתי etcd, etcd מותקן ב-cluster_manager_nodes |
הסרת הרכיבים
אם אתם צריכים להסיר את ההתקנה של AlloyDB Omni מהסביבה שלכם, למשל כדי להוציא משימוש אשכול או כדי להתכונן להתקנה נקייה מחדש, אתם יכולים להסיר את כל רכיבי התוכנה שלו. אתם יכולים להסיר את AlloyDB Omni באמצעות Ansible או על ידי הסרה ידנית של ה-RPM מכל צומת.
הסרת רכיבים של AlloyDB Omni באמצעות Ansible
כדי להסיר את הרכיבים של מחסנית התוכנה של AlloyDB Omni באמצעות Ansible, משתמשים בקובץ המלאי הקיים וב-playbook שמפנה לתפקיד google.alloydbomni_orchestrator.uninstall.
יוצרים פלייבוק בשם
uninstall.yaml.- name: Uninstall AlloyDB Omni cluster hosts: all become: true vars: ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.uninstallמחליפים את מה שכתוב בשדות הבאים:
-
SSH_USER: שם המשתמש שבו אתם משתמשים כדי להתחבר לצמתים באשכול באמצעות SSH. -
SSH_KEY_PATH: הנתיב לקובץ של מפתח ה-SSH הפרטי בצומת הבקרה, לדוגמה~/.ssh/id_rsa.
-
מריצים את הפלייבוק. כדי להסיר את קובצי התצורה ואת ספריית הנתונים, צריך להעביר את
cleanup_data=trueואתcleanup_config=trueכמשתנים נוספים.ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
הסרת רכיבים של AlloyDB Omni באופן ידני
אם אתם משתמשים ב-AlloyDB Omni CLI, אתם צריכים להסיר ידנית את חבילות ה-RPM מכל צומת.
בכל צומתי מסד הנתונים, מריצים את הפקודה הבאה:
sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncerמריצים את הפקודה הבאה בכל הצמתים של מאזן העומסים:
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerבכל הצמתים של תוכנה לניהול אשכולות, מריצים את הפקודה הבאה:
sudo dnf remove -y alloydbomni_cluster_managerאופציונלי: בכל צומתי ה-etcd, מריצים את הפקודה הבאה כדי להסיר את etcd ולנקות את נתוני ה-etcd:
sudo dnf remove -y etcd sudo rm -rf /var/lib/etcd/data
המאמרים הבאים
כדי להביא קובצי אישורים ומפתחות משלכם ל-TLS, קראו את המאמר איך AlloyDB Omni משתמש ב-TLS.