לפני שמתחילים
לפני שמתקינים את הרכיבים, צריך לוודא שביצעתם את הפעולות הבאות:
- מתקינים את כלי התזמור: מוודאים שאוסף Ansible או CLI של כלי התזמור AlloyDB Omni מותקנים בצומת הבקרה.
- הקצאת מכונות: צריך להקצות מכונות וירטואליות של RHEL9 בהתאם לארכיטקטורה שבחרתם, למשל עצמאית או זמינות גבוהה.
- הגדרת הרשת וחומת האש: מוודאים שכל היציאות הנדרשות פתוחות בין הצמתים. זה כולל את
5432לתעבורת מסדי נתונים, את2379/2380ל-etcdואת יציאות הניהול6703,6702ו-6700שמשמשות את Cluster Manager ו-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 של המאגר שמכיל את חבילות ה-RPMetcd. -
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 של המאגר שמכיל את קובצי ה-RPM של מנהל האשכולות ומנהל הצמתים של AlloyDB Omni. -
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 |
אפשר להתקין את Cluster Manager בצמתי מסד הנתונים (primary_instance_nodes) כשאין צמתים ייעודיים ל-Cluster Manager. |
load_balancer_nodes |
alloydbomni_node_managerhaproxykeepalivedpgbouncer |
התוכנות keepalived ו-pgbouncer מותקנות בצמתים של מאזן העומסים רק בסביבה שבה מוגדרים מאזני עומסים. |
פקודות התקנה:
-
REPO_GPG_KEY: המיקום של המפתח הציבורי של Google לאימות GPG, לדוגמה,https://dl.google.com/linux/linux_signing_key.pub. אפשר גם להגדיר את המדיניות הזו כנתיב קובץ אחרי שמורידים אותו וממקמים אותו בכל מכונות ה-VM. לדוגמה: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מפעילים את Bootstrap
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.
יוצרים playbook בשם
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 orchestrator 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.