Installa AlloyDB Omni su Kubernetes

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 Installa AlloyDB Omni.

Panoramica

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

Configuri e controlli un cluster di database AlloyDB Omni basato su Kubernetes accoppiando file manifest dichiarativi con l'utilità kubectl, proprio come qualsiasi altro deployment basato su Kubernetes. Non utilizzi la CLI AlloyDB Omni, che è pensata per i 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à delle tue implementazioni.

Compatibilità con l'operatore AlloyDB Omni 1.1.0 (e versioni successive)

La versione 1.1.0 dell'operatore AlloyDB Omni non è compatibile con le versioni 15.5.3 e 15.5.4 di AlloyDB Omni. Se utilizzi una di queste versioni di AlloyDB Omni, potresti ricevere un errore simile al seguente:

Error from server (Forbidden): error when creating "[...]/dbcluster.yaml": admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.3

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

Scegli una delle seguenti opzioni di download e installazione:

Media Percorsi di download e guide all'installazione Deployment in
Operatore OpenShift con bundle OLM Console web di Openshift Container Platform Ambiente OpenShift
Operatore Kubernetes con bundle OLM Artifacthub.io Ambiente container Kubernetes Bring Your Own, ad esempio on-premise, cloud pubblici, Google Kubernetes Engine, Amazon EKS e Azure AKS.
Operatore Kubernetes con grafico Helm Installa AlloyDB Omni su Kubernetes (questa pagina) Porta il tuo ambiente container Kubernetes, ad esempio on-premise, cloud pubblici, GKE, Amazon EKS e Azure AKS.

Verifica l'accesso

Verifica di avere accesso a quanto segue:

Soddisfare i requisiti hardware e software

Ogni nodo nel cluster Kubernetes deve avere quanto segue:

  • Almeno due CPU x86 o AMD64.
  • Almeno 8 GB di RAM.
  • Versione del kernel Linux 4.18 o successive.
  • Control group (cgroup) v2 attivato.

Installa 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. Definisci le seguenti variabili di ambiente:
    export HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest)
    export OPERATOR_VERSION="${HELM_PATH%%/*}"
    
  2. Scarica l'operatore AlloyDB Omni:
    curl -X GET -o "./alloydbomni-operator-${OPERATOR_VERSION}.tgz" "https://storage.googleapis.com/storage/v1/b/alloydb-omni-operator/o/$(echo ${HELM_PATH} | sed 's/\//%2F/g')?alt=media"
    
  3. Installa l'operatore AlloyDB Omni:
    helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
    --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
    
  4. Per fare pulizia, elimina il file di installazione dell'operatore AlloyDB Omni scaricato. Il file è denominato alloydbomni-operator-VERSION_NUMBER.tgz e si trova nella directory di lavoro attuale.

OLM

Per installare l'operatore AlloyDB Omni utilizzando Operator Lifecycle Manager, segui questi passaggi:

  1. Vai alla pagina https://operatorhub.io/operator/alloydb-omni-operator.

  2. Fai clic sul pulsante Installa per visualizzare le istruzioni.

  3. Completa tutti i passaggi di installazione.

  4. Dopo aver installato l'operatore AlloyDB Omni, crea manualmente le risorse cert-manager nel cluster. Questo è un requisito. Utilizza questi comandi:

    kubectl create ns ${NAMESPACE:?}
    kubectl apply -f - <<EOF
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: alloydbomni-selfsigned-cluster-issuer
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: fleet-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: fleet-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - fleet-webhook-service.alloydb-omni-system.svc
      - fleet-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: fleet-selfsigned-issuer
      secretName: fleet-webhook-server-cert
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: local-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: local-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - local-webhook-service.alloydb-omni-system.svc
      - local-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: local-selfsigned-issuer
      secretName: local-webhook-server-cert
    EOF

    Sostituisci NAMESPACE con lo spazio dei nomi in cui si trova l'operatore, ad esempio alloydb-omni-system.

OLM

Per installare l'operatore AlloyDB Omni nel tuo ambiente Red Hat OpenShift utilizzando OLM, accedi alla console web Red Hat OpenShift.

  1. Seleziona Operatori > OperatorHub.

  2. Trova l'operatore AlloyDB Omni utilizzando il campo di ricerca.

    Hub degli operatori di AlloyDB Omni
    Figura 1: l'operatore AlloyDB Omni in OperatorHub
  3. Nel riquadro dell'operatore AlloyDB Omni, fai clic su Installa.

    Riquadro dell&#39;operatore AlloyDB Omni
    Figura 2: il riquadro dell'operatore AlloyDB Omni
  4. Dopo aver installato l'operatore AlloyDB Omni, crea manualmente le risorse cert-manager nel cluster. Questo è un requisito. Utilizza questi comandi:

    kubectl create ns ${NAMESPACE:?}
    kubectl apply -f - <<EOF
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: alloydbomni-selfsigned-cluster-issuer
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: fleet-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: fleet-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - fleet-webhook-service.alloydb-omni-system.svc
      - fleet-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: fleet-selfsigned-issuer
      secretName: fleet-webhook-server-cert
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: local-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: local-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - local-webhook-service.alloydb-omni-system.svc
      - local-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: local-selfsigned-issuer
      secretName: local-webhook-server-cert
    EOF

    Sostituisci NAMESPACE con lo spazio dei nomi in cui si trova l'operatore, ad esempio alloydb-omni-system.

Configura lo spazio di archiviazione GDC connesso

Per installare l'operatore AlloyDB Omni su GDC connesso, devi seguire passaggi aggiuntivi per configurare lo spazio di archiviazione perché i cluster GDC connessi 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, vedi Impostare Symcloud Storage come classe di archiviazione predefinita.

Per ulteriori informazioni sulla modifica del valore predefinito per tutte le altre classi di archiviazione, vedi Modificare la StorageClass predefinita.

Crea 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 eventuali repliche e tutti i tuoi dati.

Per creare un cluster di database AlloyDB Omni:

  1. Crea uno spazio dei nomi dedicato per il cluster di database. Ciò migliora 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: "16.8.0"
      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.

    • 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 questo valore su 8 gigabyte per CPU. Ad esempio, se hai impostato cpu su 2 in precedenza in questo manifest, 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 spazio di archiviazione specificata. Per stabilire una connessione di test con il nuovo cluster di database, consulta Connessione tramite psql preinstallato.

Per ulteriori informazioni sui manifest di Kubernetes e su come applicarli, consulta Gestione delle risorse.

Passaggi successivi