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 Kubernetes, 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, 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.
Riferimenti immagine digest SHA
Per prevenire 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.
Aggiornamenti automatici: l'operatore AlloyDB Omni utilizza un ImageCatalog interno per gestire questi digest e garantire rollback affidabili del piano dati durante gli aggiornamenti non riusciti.
Attivazione: anche se è abilitata per impostazione predefinita per il pacchetto OpenShift Certified, gli utenti dei pacchetti OLM o Helm possono attivare manualmente i riferimenti al digest impostando la variabile di ambiente
ENABLE_DIGEST_IMAGE_REFSsutrueutilizzando la configurazione dell'abbonamento per OLM o il valoreenableDigestImageRefsnel 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 | Percorsi di download e guide all'installazione | Deployment in |
|---|---|---|
| Operatore AlloyDB Omni con grafico Helm | Installa AlloyDB Omni su Kubernetes | Ambiente container Kubernetes Bring Your Own, ad esempio
on-premise, cloud pubblici, GKE, Amazon EKS e
Azure AKS. Suggerimento:utilizza questa opzione se gli strumenti di distribuzione continua (CD) sono integrati con Helm. |
| Operatore AlloyDB Omni con pacchetto OLM | OperatorHub.io | Porta il tuo ambiente di container Kubernetes, 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ù, visita olm.operatorframework.io. Suggerimento:se gli strumenti di distribuzione continua (CD) utilizzano già OLM, scegli questa opzione. |
| Operatore OpenShift con bundle OLM | Console web di Openshift Container Platform | Ambiente OpenShift OpenShift, una variante di Kubernetes, utilizza OLM come metodo standard integrato per il packaging 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 successiva.
- Il servizio
cert-manager.
- L'utilità
kubectl. - Il gestore di pacchetti
helmo Operator Lifecycle Manager.
Soddisfare i requisiti hardware e software
Ogni nodo nel cluster Kubernetes deve avere:
- Almeno due CPU x86 o AMD64.
- Almeno 8 GB di RAM.
- Versione kernel Linux 4.18 o successive.
- Control group (cgroup) v2 attivato.
Installa l'operatore AlloyDB Omni
Se vuoi eseguire il deployment di AlloyDB Omni nel tuo ambiente di produzione, consulta Eseguire AlloyDB Omni in produzione.
Puoi installare l'operatore AlloyDB Omni utilizzando diversi metodi, tra cui Helm e Operator Lifecycle Manager (OLM).
Helm
Per installare l'operatore AlloyDB Omni:
- Installa l'operatore AlloyDB Omni dal registro OCI:
helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \ --version 1.8.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, segui questi passaggi:
Vai alla pagina AlloyDB Omni Operator.
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 l'OLM
OperatorGroupper assicurarti che l'operatore sia limitato al 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 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
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, segui questi passaggi:
- Accedi alla console web Red Hat OpenShift.
- Per gli utenti offline o disconnessi, devi eseguire manualmente il mirroring delle
immagini richieste nel tuo registro privato utilizzando strumenti che conservano gli hash SHA, come
oc image mirror. Devi configurare unImageDigestMirrorSetper reindirizzare i pull delle immagini dal repository pubblicogcr.ioal tuo registro privato. In questo modo, l'operatore AlloyDB Omni può estrarre le immagini richieste utilizzando i relativi digest SHA256 immutabili. Nella console web OpenShift, vai a Operatori > OperatorHub. L'operatore AlloyDB Omni è elencato nei cataloghi Certificato e Community.
Nel riquadro dell'operatore AlloyDB Omni, fai clic su Installa.
Installa il certificato predefinito
ClusterIssuereseguendo i seguenti comandi. 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 lo spazio di archiviazione GDC Connected
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.
Dopo aver installato l'operatore AlloyDB Omni sul cluster Kubernetes, puoi creare un cluster di database AlloyDB Omni sul cluster Kubernetes applicando un manifest simile al seguente:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DB_CLUSTER_NAME
type: Opaque
data:
DB_CLUSTER_NAME: "ENCODED_PASSWORD"
---
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "18.3.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 esempiomy-db-cluster.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 hai impostatocpusu2in precedenza in questo manifest, ti consigliamo di impostarememorysu16Gi.DISK_SIZE: le dimensioni del disco per istanza di database, ad esempio10Gi.
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, vedi Connessione tramite psql preinstallato.
Per saperne di più sui manifest Kubernetes e su come applicarli, consulta Gestione delle risorse.
Scalare un cluster di database
Per scalare le risorse di computing per il cluster di database, aggiorna i valori cpu e memory nel manifest db-cluster.yaml e applica le modifiche. La procedura di scalabilità dipende dal tipo di operazione che scegli: scalabilità regolare o scalabilità con tempi di inattività ridotti.
Scalabilità regolare
Quando aggiorni la specifica di scalabilità e applichi il manifest senza ulteriori configurazioni, i pod del database vengono riavviati immediatamente. Ciò comporta un breve periodo di inattività nelle istanze primaria e in standby mentre le nuove allocazioni delle risorse diventano effettive.
Scalabilità con tempi di inattività ridotti
Per i cluster ad alta affidabilità (HA) con almeno uno standby, puoi ridurre al minimo i tempi di inattività durante lo scaling utilizzando la strategia di preparazione e cambio della manutenzione con tempi di inattività ridotti (LDTM). Questa strategia applica le modifiche di scalabilità prima allo standby, esegue un rapido switchover e poi applica le modifiche all'istanza primaria originale. Puoi fare lo scale up o lo scale down con la strategia LDTM.
Per attivare e monitorare lo scaling con tempi di inattività ridotti:
Abilita la scalabilità con tempi di inattività ridotti. Aggiungi l'annotazione
enableLDTMal tuo cluster di database:kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME dbcluster.dbadmin.goog/enableLDTM=true
Sostituisci
DB_CLUSTER_NAMEcon il nome del cluster di database.Applica le specifiche di scalabilità aggiornate. Aggiorna i valori
cpuememoryinprimarySpec.resourcesnel manifest e applica le modifiche:kubectl apply -f db-cluster.yaml
Monitora il processo di scalabilità. Controlla la condizione di stato
LDTMScalingInProgressper monitorare l'operazione:kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -o yaml | yq '.status.conditions[] | select(.type == "LDTMScalingInProgress")'
Sostituisci
DB_CLUSTER_NAMEcon il nome del cluster di database.Mentre il processo è in corso, lo stato è
true. Al termine dello scaling, lo stato della condizione cambia infalse.
Limitazioni
- Lo scaling LDTM è supportato solo per i cluster HA con almeno uno standby.
- Non puoi eseguire due operazioni LDTM contemporaneamente. Ad esempio, puoi utilizzare LDTM per scalare i cluster di database o per eseguire upgrade della versione secondaria, ma non entrambi contemporaneamente.
- Devi eseguire manualmente il rollback dopo l'operazione di scalabilità LDTM non riuscita.
Passaggi successivi
- Esegui e connettiti ad AlloyDB Omni.
- Gestisci AlloyDB Omni.
- Gestisci l'alta affidabilità in Kubernetes.
- Crea un cluster abilitato alla TDE.