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, un'estensione dell'API Kubernetes fornita da Google.
Configura e controlla un cluster di database AlloyDB Omni basato su Kubernetes accoppiando i file manifest dichiarativi con l'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.
Compatibilità dell'operatore AlloyDB Omni 1.1.0 (e versioni successive)
L'operatore AlloyDB Omni versione 1.1.0 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.
Scegli 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:
- Un cluster Kubernetes che esegue il seguente software:
- Kubernetes versione 1.21 o successive.
- Il servizio
cert-manager.
- L'
kubectlutilità. - Il gestore di pacchetti
helmo Operator Lifecycle Manager.
Soddisfa i requisiti hardware e software
Ogni nodo del cluster Kubernetes deve avere quanto segue:
- 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.
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:
- Definisci le seguenti variabili di ambiente:
export HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}" - 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" - Installa l'operatore AlloyDB Omni:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5mL'installazione riuscita mostra il seguente output:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- Per liberare spazio, elimina il file di installazione dell'operatore AlloyDB Omni scaricato. Il file si chiama
alloydbomni-operator-VERSION_NUMBER.tgze si trova in your current working directory.
OLM
Per installare l'operatore AlloyDB Omni utilizzando Operator Lifecycle Manager:
Vai alla pagina Operatore AlloyDB Omni.
Fai clic su Installa. Se non l'hai ancora fatto, segui le istruzioni per installare solo l'operatore OLM e il catalogo OperatorHub.io.
Crea lo spazio dei nomi
alloydb-omni-systemse non esiste già.kubectl create ns alloydb-omni-system
Configura
OperatorGroupOLM 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
Installa l'operatore utilizzando una risorsa di sottoscrizione 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
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, accedi alla console web Red Hat OpenShift.
Seleziona Operatori > OperatorHub.
Trova l'operatore AlloyDB Omni utilizzando il campo di ricerca.
Nel riquadro dell'operatore AlloyDB Omni, fai clic su Installa.
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
Configura l'archiviazione GDC Connected
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.
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 repliche e tutti i dati.
Per creare un cluster di database AlloyDB Omni:
Crea uno spazio dei nomi dedicato per il cluster di database. In questo modo, migliorerai l'isolamento e la sicurezza.
kubectl create namespace DB_CLUSTER_NAMESPACESostituisci
DB_CLUSTER_NAMESPACEcon lo spazio dei nomi in cui vuoi creare il cluster di database, ad esempiomy-db-cluster-namespace.Crea un file manifest denominato
db-cluster.yamlcon 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.3.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_SIZESostituisci quanto segue:
DB_CLUSTER_NAME: il nome di questo cluster di database, ad esempiomy-db-cluster.OS_TYPE: (Facoltativo) Il tipo di sistema operativo di base per l'immagine del database. I valori validi sonoDebianeUBI9. Se non lo specifichi, l'operatore lo imposta automaticamente suDebiansedatabaseVersionè inferiore a16.9.0e suUBI9sedatabaseVersionè16.9.0o versioni successive.ENCODED_PASSWORD: la password di accesso al database per il ruolo utentepostgrespredefinito, codificata come stringa base64, ad esempioQ2hhbmdlTWUxMjM=perChangeMe123.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 in precedenza in questo manifest hai impostatocpusu2, ti consigliamo di impostarememorysu16Gi.DISK_SIZE: le dimensioni del disco per istanza di database, ad esempio10Gi.
Applica il manifest al cluster Kubernetes:
kubectl apply -f db-cluster.yaml
Dopo aver applicato questo manifest, il cluster Kubernetes conterrà 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 Connettersi utilizzando psql.
Per saperne di più sui manifest Kubernetes e su come applicarli, consulta Gestire le risorse.