Installa AlloyDB Omni utilizzando l'orchestratore dei container

Seleziona una versione della documentazione:

Questa pagina fornisce una panoramica dell'operatore AlloyDB Omni Kubernetes, con istruzioni per utilizzarlo per eseguire il deployment di AlloyDB Omni su un cluster Kubernetes. Questa pagina presuppone una conoscenza di base del funzionamento di Kubernetes.

Per istruzioni sull'installazione di AlloyDB Omni in un ambiente Linux standard, consulta Installare AlloyDB Omni.

Panoramica

Per eseguire il deployment di AlloyDB Omni su un cluster Kubernetes, installa l'operatore AlloyDB Omni Kubernetes, un'estensione dell'API Kubernetes fornita da Google.

Configura e controlla un cluster di database AlloyDB Omni basato su Kubernetes associando i file manifest dichiarativi all'utilità kubectl, proprio come qualsiasi altro deployment basato su Kubernetes. Non utilizzi l'interfaccia a riga di comando AlloyDB Omni, che è destinata ai deployment su singole macchine Linux e non su cluster Kubernetes.

Immagine di base

A partire dalla versione 1.5.0, le immagini Kubernetes dell'operatore AlloyDB Omni sono basate su Universal Base Image (UBI) 9 di Red Hat. Questa transizione migliora la sicurezza, la coerenza e la conformità dei deployment.

Riferimenti alle immagini del digest SHA

Per prevenire gli attacchi alla supply chain e soddisfare i requisiti di certificazione OpenShift, l'operatore AlloyDB Omni utilizza i digest SHA-256 anziché i tag di versione per tutti i riferimenti alle immagini container.

  • Upgrade automatici: l'operatore AlloyDB Omni utilizza un ImageCatalog interno per gestire questi digest e garantire rollback affidabili del piano dati durante gli upgrade non riusciti.

  • Abilitazione: anche se è abilitata per impostazione predefinita per il pacchetto certificato OpenShift, gli utenti dei pacchetti OLM o Helm possono abilitare manualmente i riferimenti ai digest impostando la ENABLE_DIGEST_IMAGE_REFS variabile di ambiente su true utilizzando la configurazione dell'abbonamento per OLM o il valore enableDigestImageRefs nel grafico Helm.

Prima di iniziare

Prima di installare AlloyDB Omni su un cluster Kubernetes con l'operatore AlloyDB Omni, assicurati di soddisfare i seguenti requisiti.

Scegliere un'opzione di download o installazione

Quando gestisci i carichi di lavoro su un cluster Kubernetes generico, puoi utilizzare Helm o OLM. Helm è un gestore di pacchetti universale che utilizza i grafici Helm per installare qualsiasi carico di lavoro, inclusi gli operatori, in tutte le varianti di Kubernetes. OLM, la scelta standard e preferita sulle piattaforme OpenShift, gestisce i cicli di vita degli operatori con bundle OLM specializzati.

In base all'ambiente e agli strumenti, scegli uno dei seguenti metodi di deployment:

Media Posizioni di download e guide all'installazione Deployment su
Operatore AlloyDB Omni con grafico Helm Installare AlloyDB Omni su Kubernetes Ambiente container Kubernetes di tipo Bring Your Own, ad esempio, on-premise, cloud pubblici, GKE, Amazon EKS e Azure AKS.

Suggerimento: se gli strumenti di distribuzione continua (CD) sono integrati con Helm, utilizza questa opzione.
Operatore AlloyDB Omni con bundle OLM OperatorHub.io Ambiente container Kubernetes di tipo Bring Your Own, ad esempio, on-premise, cloud pubblici, Google Kubernetes Engine, Amazon EKS e Azure AKS.

Per utilizzare un bundle OLM, installa OLM sul cluster Kubernetes prima di installare l'operatore. Per saperne di più, consulta olm.operatorframework.io.

Suggerimento: se gli strumenti di distribuzione continua (CD) utilizzano già OLM, scegli questa opzione.
Operatore OpenShift con bundle OLM Console web OpenShift Container Platform Ambiente OpenShift

OpenShift, una variante di Kubernetes, utilizza OLM come metodo standard e integrato per la creazione di pacchetti e il deployment degli operatori.

Verifica l'accesso

Verifica di avere accesso a quanto segue:

Soddisfare i requisiti hardware e software

Ogni nodo del cluster Kubernetes deve avere:

  • Un minimo di due CPU x86 o AMD64.
  • Almeno 8 GB di RAM.
  • Versione kernel Linux 4.18 o successive.
  • Gruppo di controllo (cgroup) v2 abilitato.

Installare l'operatore AlloyDB Omni

Puoi installare l'operatore AlloyDB Omni utilizzando diversi metodi, tra cui Helm e Operator Lifecycle Manager (OLM).

Helm

Per installare l'operatore AlloyDB Omni:

  1. Installa l'operatore AlloyDB Omni dal registro OCI:
    helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \
    --version 1.7.0 \
    --create-namespace \
    --namespace alloydb-omni-system \
    --atomic \
    --timeout 5m
    

    L'installazione riuscita mostra il seguente output:

    NAME: alloydbomni-operator
    LAST DEPLOYED: CURRENT_TIMESTAMP
    NAMESPACE: alloydb-omni-system
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    

OLM

Per installare l'operatore AlloyDB Omni utilizzando Operator Lifecycle Manager:

  1. Vai alla pagina Operatore AlloyDB Omni.

  2. Fai clic su Installa. Se non l'hai ancora fatto, segui le istruzioni per installare solo l'operatore OLM e il catalogo OperatorHub.io.

  3. Crea lo spazio dei nomi alloydb-omni-system se non esiste già.

    kubectl create ns alloydb-omni-system
    
  4. Configura OperatorGroup di OLM per assicurarti che l'operatore sia con ambito cluster.

    kubectl apply -f - <<EOF
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: operator-sdk-og
      namespace: alloydb-omni-system
    spec:
      upgradeStrategy: Default
    EOF
    
  5. Installa l'operatore utilizzando una risorsa di abbonamento OLM.

    kubectl apply -f - <<EOF
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: my-alloydb-omni-operator
      namespace: alloydb-omni-system
    spec:
      channel: stable
      name: alloydb-omni-operator
      source: operatorhubio-catalog
      sourceNamespace: olm
    EOF
    
  6. Installa il certificato predefinito ClusterIssuer. Questo passaggio è facoltativo se utilizzi emittenti di certificati personalizzati.

    kubectl apply -f - <<EOF
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: alloydbomni-selfsigned-cluster-issuer
    spec:
      selfSigned: {}
    EOF
    

OLM

Per installare l'operatore AlloyDB Omni nel tuo ambiente Red Hat OpenShift utilizzando OLM:

  1. Accedi alla console web Red Hat OpenShift.
  2. Per gli utenti offline o disconnessi, devi eseguire manualmente il mirroring delle immagini richieste nel tuo registro privato utilizzando strumenti che conservano i digest SHA come oc image mirror. Devi configurare un ImageDigestMirrorSet per reindirizzare i pull delle immagini dal repository pubblico gcr.io al tuo registro privato. In questo modo, l'operatore AlloyDB Omni può eseguire il pull delle immagini richieste utilizzando i digest SHA256 immutabili.
  3. Nella console web OpenShift, vai a Operatori > OperatorHub. L'operatore AlloyDB Omni è elencato nei cataloghi Certificato e Community.

  4. Nel riquadro dell'operatore AlloyDB Omni, fai clic su Installa.

  5. Installa il certificato predefinito ClusterIssuer. Questo passaggio è facoltativo se utilizzi emittenti di certificati personalizzati.

    kubectl apply -f - <<EOF
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: alloydbomni-selfsigned-cluster-issuer
    spec:
      selfSigned: {}
    EOF
    

Configurare l'archiviazione connessa GDC

Per installare l'operatore AlloyDB Omni su GDC Connected, devi seguire passaggi aggiuntivi per configurare l'archiviazione, perché i cluster GDC Connected non impostano una classe di archiviazione predefinita. Devi impostare una classe di archiviazione predefinita prima di creare un cluster di database AlloyDB Omni.

Per scoprire come impostare Symcloud Storage come classe di archiviazione predefinita, consulta Impostare Symcloud Storage come classe di archiviazione predefinita.

Per saperne di più su come modificare l'impostazione predefinita per tutte le altre classi di archiviazione, consulta Modificare la StorageClass predefinita.

Creare un cluster di database

Un cluster di database AlloyDB Omni contiene tutte le risorse di archiviazione e di calcolo necessarie per eseguire un server AlloyDB Omni, inclusi il server principale, le repliche e tutti i dati.

Per creare un cluster di database AlloyDB Omni:

  1. Crea uno spazio dei nomi dedicato per il cluster di database. In questo modo si migliorano l'isolamento e la sicurezza.

    kubectl create namespace DB_CLUSTER_NAMESPACE
    

    Sostituisci DB_CLUSTER_NAMESPACE con lo spazio dei nomi in cui vuoi creare il cluster di database, ad esempio my-db-cluster-namespace.

  2. Crea un file manifest denominato db-cluster.yaml con i seguenti contenuti. Questo manifest definisce sia il secret per la password del database sia la risorsa DBCluster stessa.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DB_CLUSTER_NAME
      namespace: DB_CLUSTER_NAMESPACE
    type: Opaque
    data:
      DB_CLUSTER_NAME: "ENCODED_PASSWORD"
    ---
    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: DB_CLUSTER_NAME
      namespace: DB_CLUSTER_NAMESPACE
    spec:
      databaseVersion: "17.7.0"
      # Optional: Specify the base OS type for the database image.
      # Valid values are "Debian" and "UBI9".
      # If not specified, the operator defaults to "Debian" for databaseVersion < 16.9.0
      # and "UBI9" for databaseVersion 16.9.0 or later.
      # databaseImageOSType: "OS_TYPE"
      primarySpec:
        adminUser:
          passwordRef:
            name: db-pw-DB_CLUSTER_NAME
        resources:
          cpu: CPU_COUNT
          memory: MEMORY_SIZE
          disks:
          - name: DataDisk
            size: DISK_SIZE
    

    Sostituisci quanto segue:

    • DB_CLUSTER_NAME: il nome di questo cluster di database, ad esempio my-db-cluster.

    • OS_TYPE: (Facoltativo) Il tipo di sistema operativo di base per l'immagine del database. I valori validi sono Debian e UBI9. Se non lo specifichi, l'operatore lo imposta automaticamente su Debian se databaseVersion è inferiore a 16.9.0 e su UBI9 se databaseVersion è 16.9.0 o versioni successive.

    • ENCODED_PASSWORD: la password di accesso al database per il ruolo utente postgres predefinito, codificata come stringa base64, ad esempio Q2hhbmdlTWUxMjM= per ChangeMe123.

    • CPU_COUNT: il numero di CPU disponibili per ogni istanza di database in questo cluster di database.

    • MEMORY_SIZE: la quantità di memoria per istanza di database di questo cluster di database. Ti consigliamo di impostare 8 gigabyte per CPU. Ad esempio, se in precedenza in questo manifest hai impostato cpu su 2, ti consigliamo di impostare memory su 16Gi.

    • DISK_SIZE: le dimensioni del disco per istanza di database, ad esempio 10Gi.

  3. Applica il manifest al cluster Kubernetes:

    kubectl apply -f db-cluster.yaml
    

Dopo aver applicato questo manifest, il cluster Kubernetes contiene un cluster di database AlloyDB Omni con la configurazione di memoria, CPU e archiviazione specificata. Per stabilire una connessione di test con il nuovo cluster di database, consulta Connettersi utilizzando psql.

Per saperne di più sui manifest Kubernetes e su come applicarli, consulta Gestire le risorse.

Passaggi successivi