AlloyDB Omni installieren

AlloyDB Omni auf Google Distributed Cloud (nur Software) für Bare Metal-Clustern installieren und ausführen

Übersicht

Google Distributed Cloud for Bare Metal hat die Partnerqualifizierung für AlloyDB Omni abgeschlossen (ab AlloyDB Omni-Operatorversion 1.7.0).

AlloyDB Omni ist ein herunterladbares Datenbanksoftwarepaket, das folgende Funktionen bietet:

  • Ermöglicht die Bereitstellung einer optimierten Version von AlloyDB for PostgreSQL.
  • Bietet vollständige PostgreSQL-Kompatibilität.
  • Hoher Durchsatz bei Transaktionsarbeitslasten
  • Bietet eine spaltenbasierte Engine zur Beschleunigung von analytischen Arbeitslasten.
  • Bietet integrierte Unterstützung für generative KI- und Vektorsuche-Workloads mit AlloyDB AI.

Sie können AlloyDB Omni in Ihren Bare-Metal-Clustern mit dem AlloyDB Omni Kubernetes-Operator bereitstellen und verwalten.

Hinweis

Bevor Sie AlloyDB Omni installieren, müssen Sie Folgendes haben:

  • Ein Google Distributed Cloud Bare Metal-Cluster mit Kubernetes-Version 1.21 oder höher.
  • Das kubectl-Befehlszeilentool ist für die Kommunikation mit Ihrem Cluster konfiguriert.
  • Der helm-Paketmanager (Version 3 oder höher) ist auf Ihrer Administrator-Workstation installiert.
  • Eine Standard-StorageClass, die in Ihrem Bare Metal-Cluster für die dynamische Volume-Bereitstellung konfiguriert ist. Weitere Informationen finden Sie unter Speicherübersicht.
  • Knoten in Ihrem Cluster, die die Mindestanforderungen an Ressourcen für AlloyDB Omni erfüllen:
    • Mindestens 2 CPUs pro Datenbankinstanz.
    • Mindestens 8 GB RAM pro CPU (z. B. 16 GB für 2 CPUs).
    • Linux-Kernel 4.18 oder höher mit aktivierter Kontrollgruppe v2 (cgroup v2)

Cert-Manager installieren

Der AlloyDB Omni-Operator erfordert cert-manager, um TLS-Zertifikate für seine Zulassungs-Webhooks zu verwalten.

  1. Wenn cert-manager noch nicht in Ihrem Cluster installiert ist, installieren Sie es mit 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. Ersetzen Sie KUBECONFIG durch den Pfad der kubeconfig-Datei des Clusters.

  3. Prüfen Sie, ob die cert-manager-Pods ausgeführt werden: sh kubectl get pods -n cert-manager --kubeconfig KUBECONFIG

    AlloyDB Omni-Operator installieren

So installieren Sie den AlloyDB Omni Kubernetes-Operator aus der OCI-Registrierung mit Helm:

  1. Installieren Sie das Helm-Diagramm für den Operator:

    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
    

    Ersetzen Sie Folgendes:

    • OPERATOR_VERSION: Die Version des AlloyDB Omni-Operators, die installiert werden soll (z. B. 1.8.0 oder höher).
    • KUBECONFIG: Der Pfad der Kubeconfig-Datei des Clusters.
  2. Prüfen Sie, ob der Operator-Pod ausgeführt wird:

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

    Die Ausgabe sieht etwa so aus:

    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-Cluster erstellen

Nachdem der Operator ausgeführt wurde, erstellen Sie einen AlloyDB Omni-Datenbankcluster, indem Sie ein Passwort-Secret erstellen und eine benutzerdefinierte DBCluster-Ressource anwenden.

  1. Erstellen Sie einen Namespace für Ihre Datenbankarbeitslasten:

    kubectl create namespace my-db-ns --kubeconfig KUBECONFIG
    
  2. Erstellen Sie ein Kubernetes-Secret mit dem Anmeldepasswort des Datenbankadministrators für den Standardnutzer postgres:

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

    Ersetzen Sie PASSWORD durch ein sicheres Passwort.

  3. Erstellen Sie ein Manifest mit dem Namen 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. Wenden Sie das Manifest an:

    kubectl apply -f db-cluster.yaml --kubeconfig KUBECONFIG
    
  5. Prüfen Sie, ob der Datenbankcluster den Status Ready erreicht:

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

    Die Ausgabe sieht etwa so aus:

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

Nächste Schritte