התקנה של AlloyDB Omni באמצעות כלי הניהול של RPM

בחירת גרסת התיעוד:

בדף הזה מוסבר איך להתקין את חבילת התוכנה של AlloyDB Omni ואת רכיבי הניהול שלה באמצעות כלי התזמור של AlloyDB Omni.

לפני שמתחילים

לפני שמתקינים את הרכיבים, צריך לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מתקינים את כלי התזמור: מוודאים שאוסף 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 של המאגר שמכיל את חבילות ה-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. אפשר גם להגדיר את המדיניות הזו כנתיב אם המפתח מורד לקובץ בכל המכונות הווירטואליות, לדוגמה, /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 שסופק.

  1. יוצרים playbook בשם install.yaml שמפנה לתפקיד ההתקנה מאוסף כלי התזמור.

      - name: Install AlloyDB Omni cluster components
        hosts: all
        vars:
          ansible_become: true
          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.
  2. מריצים את מדריך ההפעלה באמצעות קובץ המלאי כדי להוריד ולהתקין את חבילות ה-RPM בכל הצמתים שצוינו.

      ansible-playbook -i deployment_spec.yaml install.yaml
    

התקנה ידנית של רכיבים ב-AlloyDB Omni

אם אתם לא משתמשים ב-Ansible, אתם צריכים להתקין ידנית את קובצי ה-RPM בכל צומת באשכול.

  • REPO_GPG_KEY: המיקום של המפתח הציבורי של Google לאימות GNU Privacy Guard‏ (GPG). לדוגמה: https://dl.google.com/linux/linux_signing_key.pub. אפשר גם להגדיר את המדיניות הזו כנתיב אם המפתח מורד לקובץ בכל מכונות ה-VM, לדוגמה, file:///tmp/linux_signing_key.pub.

התקנת רכיבי AlloyDB Omni בצמתי etcd

  1. בכל הצמתים של 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
    
  2. התקנה של etcd:

    sudo dnf install -y etcd
    
  3. מפעילים את 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: שם האשכול כפי שמופיע במישור הבקרה.
  4. מגדירים את חומת האש כך שתאפשר תקשורת TCP ביציאות 2379 ו-2380.

  5. מפעילים את etcd:

    sudo systemctl enable etcd
    sudo systemctl start etcd
    

התקנת רכיבי AlloyDB Omni בצמתי ניהול של אשכול

  1. בכל הצמתים של מנהל האשכול, יוצרים קובץ הגדרות של מאגר 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
    
  2. מתקינים את מנהל האשכולות:

    sudo dnf install -y alloydbomni_cluster_manager
    
  3. מפעילים את מנהל האשכולות:

    sudo systemctl enable alloydbomni_cluster_manager
    sudo systemctl start alloydbomni_cluster_manager
    

התקנת רכיבי AlloyDB Omni בצמתי מסד נתונים

  1. בכל צומתי מסד הנתונים, יוצרים קובץ הגדרות של מאגר 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
    
  2. מתקינים את הרכיבים:

    sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrest
    
  3. מפעילים את מנהל הצמתים:

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    
  4. (אופציונלי) אם אתם לא משתמשים בצמתי מאזן עומסים נפרדים, מתקינים את pgbouncer ו-keepalived:

    sudo dnf install -y pgbouncer keepalived
    

התקנת רכיבי AlloyDB Omni בצמתים של מאזן עומסים

  1. בכל הצמתים של מאזן העומסים, יוצרים קובץ הגדרות של מאגר 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
    
  2. מתקינים את רכיבי מאזן העומסים:

    sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy
    
  3. מפעילים את מנהל הצמתים:

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    

סיכום של רכיבי 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.

  1. יוצרים playbook בשם uninstall.yaml.

    - name: Uninstall AlloyDB Omni cluster
      hosts: all
      vars:
        ansible_become: true
        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.
  2. מריצים את ה-playbook. כדי להסיר את קובצי ההגדרות ואת ספריית הנתונים, צריך להעביר את 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 מכל צומת.

  1. בכל צומתי מסד הנתונים, מריצים את הפקודה הבאה:

    sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncer
    
  2. בכל הצמתים של מאזן העומסים, מריצים את הפקודה הבאה:

    sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer
    
  3. בכל הצמתים של מנהל האשכולות, מריצים את הפקודה הבאה:

    sudo dnf remove -y alloydbomni_cluster_manager
    
  4. אופציונלי: בכל צומתי etcd, מריצים את הפקודה הבאה כדי להסיר את etcd ולנקות את נתוני etcd:

    sudo dnf remove -y etcd
    sudo rm -rf /var/lib/etcd/data
    

המאמרים הבאים