התקנה של AlloyDB Omni

התקנה והפעלה של AlloyDB Omni ב-Google Distributed Cloud (תוכנה בלבד) לאשכולות Bare Metal.

סקירה כללית

‫Google Distributed Cloud for bare metal השלים הסמכה של שותף ל-AlloyDB Omni (החל מגרסה 1.7.0 של אופרטור AlloyDB Omni).

‫AlloyDB Omni הוא חבילת תוכנה של מסד נתונים שאפשר להוריד, והוא:

  • מאפשרת לפרוס גרסה יעילה של AlloyDB ל-PostgreSQL.
  • תאימות מלאה ל-PostgreSQL.
  • מספקת תפוקה גבוהה בעומס עבודה טרנזקציוני.
  • מאפשר האצה של מנוע מבוסס-עמודות לעומסי עבודה של ניתוח נתונים.
  • ‫AlloyDB AI מציע תמיכה מובנית בעומסי עבודה של AI גנרטיבי וחיפוש וקטורי.

פורסים ומנהלים את AlloyDB Omni באשכולות Bare Metal באמצעות AlloyDB Omni Kubernetes Operator.

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

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

  • אשכול Bare Metal ב-Google Distributed Cloud שפועלת בו גרסה 1.21 ואילך של Kubernetes.
  • כלי שורת הפקודה kubectl מוגדר לתקשורת עם האשכול.
  • מנהל החבילות helm (גרסה 3 ואילך) מותקן בתחנת העבודה של האדמין.
  • ‫StorageClass שמוגדר כברירת מחדל באשכול Bare Metal להקצאה דינמית של נפח אחסון. מידע נוסף זמין במאמר בנושא סקירה כללית של אחסון.
  • צמתים באשכול שעומדים בדרישות המינימום של משאבים ל-AlloyDB Omni:
    • לפחות 2 מעבדים (CPU) לכל מופע של מסד נתונים.
    • לפחות 8 GB של RAM לכל מעבד (לדוגמה, 16 GB ל-2 מעבדים).
    • ‫Linux kernel 4.18 ואילך עם הפעלה של קבוצת בקרה (cgroup) v2.

התקנה של cert-manager

האופרטור AlloyDB Omni דורש cert-manager כדי לנהל אישורי TLS עבור רכיבי ה-webhook של הרשאות הגישה שלו.

  1. אם cert-manager עדיין לא מותקן באשכול, מתקינים אותו באמצעות Helm: sh helm repo add jetstack https://charts.jetstack.io helm repo update helm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --version v1.16.0 \ --set crds.enabled=true \ --kubeconfig KUBECONFIG

  2. מחליפים את KUBECONFIG בנתיב של קובץ ה-kubeconfig של האשכול.

  3. מוודאים שרכיבי ה-cert-manager Pod פועלים: sh kubectl get pods -n cert-manager --kubeconfig KUBECONFIG

    התקנת אופרטור AlloyDB Omni

כדי להתקין את AlloyDB Omni Kubernetes Operator ממאגר OCI באמצעות Helm, מבצעים את הפעולות הבאות:

  1. מתקינים את תרשים Helm של האופרטור:

    helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \
        --version OPERATOR_VERSION \
        --create-namespace \
        --namespace alloydb-omni-system \
        $(helm install --help | grep -q -- '--rollback-on-failure' && echo '--rollback-on-failure' || echo '--atomic') \
        --timeout 5m \
        --kubeconfig KUBECONFIG
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫OPERATOR_VERSION: הגרסה של אופרטור AlloyDB Omni להתקנה (לדוגמה, 1.8.0 ומעלה).
    • ‫KUBECONFIG: הנתיב לקובץ kubeconfig של האשכול.
  2. מוודאים ש-Pod האופרטור פועל:

    kubectl get pods -n alloydb-omni-system --kubeconfig KUBECONFIG
    

    הפלט אמור להיראות כך:

    NAME                                        READY   STATUS    RESTARTS   AGE
    fleet-controller-manager-796c698cd7-x2vsr   1/1     Running   0          22h
    local-controller-manager-76f6c98446-rzpsc   1/1     Running   0          22h
    

יצירת אשכול AlloyDB Omni

אחרי שהאופרטור פועל, יוצרים אשכול מסד נתונים של AlloyDB Omni על ידי יצירת סוד של סיסמה והחלה של DBCluster משאב מותאם אישית.

  1. יוצרים מרחב שמות לעומסי העבודה של מסד הנתונים:

    kubectl create namespace my-db-ns --kubeconfig KUBECONFIG
    
  2. יוצרים סוד ב-Kubernetes שמכיל את סיסמת הכניסה של מנהל מסד הנתונים עבור המשתמש postgres שמוגדר כברירת מחדל:

    kubectl create secret generic db-pw-my-db-cluster \
        --namespace my-db-ns \
        --from-literal=my-db-cluster=PASSWORD \
        --kubeconfig KUBECONFIG
    

    מחליפים את PASSWORD בסיסמה מאובטחת.

  3. יוצרים קובץ מניפסט בשם db-cluster.yaml:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: my-db-cluster
      namespace: my-db-ns
    spec:
      databaseVersion: "18.3.0"
      primarySpec:
        adminUser:
          passwordRef:
            name: db-pw-my-db-cluster
        resources:
          cpu: 2
          memory: 16Gi
          disks:
          - name: DataDisk
            size: 20Gi
    
  4. החלת המניפסט:

    kubectl apply -f db-cluster.yaml --kubeconfig KUBECONFIG
    
  5. מוודאים שאשכול מסד הנתונים מגיע למצב Ready:

    kubectl get dbclusters -n my-db-ns --kubeconfig KUBECONFIG
    

    הפלט אמור להיראות כך:

    NAME            PRIMARY             PRIMARYSTATUS   STANDBY   STANDBYSTATUS   STATUS
    my-db-cluster   my-db-cluster-0     Ready                                     Ready
    

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