Eine Anleitung zum Installieren von AlloyDB Omni in einer Standard-Linux-Umgebung finden Sie unter AlloyDB Omni installieren.
Übersicht
Wenn Sie AlloyDB Omni in einem Kubernetes-Cluster bereitstellen möchten, installieren Sie den AlloyDB Omni-Operator, eine von Google bereitgestellte Erweiterung der Kubernetes API.
Sie konfigurieren und steuern einen Kubernetes-basierten AlloyDB Omni-Datenbankcluster, indem Sie deklarative Manifestdateien mit dem kubectl-Dienstprogramm kombinieren, genau wie bei jeder anderen Kubernetes-basierten Bereitstellung. Sie verwenden nicht die AlloyDB Omni CLI, die für die Bereitstellung auf einzelnen Linux-Maschinen und nicht auf Kubernetes-Clustern vorgesehen ist.
Basis-Image
Ab Version 1.5.0 basieren die Kubernetes-Images des AlloyDB Omni-Operators auf dem Universal Base Image (UBI) 9 von Red Hat. Diese Umstellung erhöht die Sicherheit, Konsistenz und Compliance Ihrer Bereitstellungen.
Kompatibilität des AlloyDB Omni-Operators 1.1.0 (und höher)
Die AlloyDB Omni-Operator-Version 1.1.0 ist nicht mit den Versionen 15.5.3 und 15.5.4 von AlloyDB Omni kompatibel. Wenn Sie eine dieser Versionen von AlloyDB Omni verwenden, wird möglicherweise ein Fehler wie der folgende angezeigt:
Error from server (Forbidden): error when creating "[...]/dbcluster.yaml": admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.3
Hinweise
Bevor Sie AlloyDB Omni in einem Kubernetes-Cluster mit dem AlloyDB Omni-Operator installieren, müssen die folgenden Anforderungen erfüllt sein.
Download- oder Installationsoption auswählen
Wählen Sie eine der folgenden Download- und Installationsoptionen aus:
| Medien | Downloadorte und Installationsanleitungen | Bereitstellung für |
|---|---|---|
| OpenShift-Operator mit OLM-Bundle | Openshift Container Platform Web Console | OpenShift-Umgebung |
| Kubernetes-Operator mit OLM-Bundle | Artifacthub.io | Sie können Ihre eigene Kubernetes-Containerumgebung verwenden, z. B. lokal, in öffentlichen Clouds, in Google Kubernetes Engine, Amazon EKS und Azure AKS. |
| Kubernetes-Operator mit Helm-Diagramm | AlloyDB Omni in Kubernetes installieren (diese Seite) | Sie können Ihre eigene Kubernetes-Containerumgebung verwenden, z. B. lokal, in öffentlichen Clouds, in GKE, Amazon EKS und Azure AKS. |
Zugriff überprüfen
Prüfen Sie, ob Sie Zugriff auf Folgendes haben:
- Einen Kubernetes-Cluster mit der folgenden Software:
- Kubernetes-Version 1.21 oder höher
- Der
cert-manager-Dienst
- Das
kubectl-Dienstprogramm - Der
helm-Paketmanager oder der Operator Lifecycle Manager.
Hardware- und Softwareanforderungen erfüllen
Jeder Knoten im Kubernetes-Cluster muss Folgendes haben:
- Mindestens zwei x86- oder AMD64-CPUs
- Mindestens 8 GB RAM
- Linux-Kernel-Version 4.18 oder höher
- Kontrollgruppe v2 (cgroup v2) ist aktiviert.
AlloyDB Omni-Operator installieren
Sie können den AlloyDB Omni-Operator mit verschiedenen Methoden installieren, darunter Helm und Operator Lifecycle Manager (OLM).
Helm
So installieren Sie den AlloyDB Omni-Operator:
- Legen Sie die folgenden Umgebungsvariablen fest:
export HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}" - Laden Sie den AlloyDB Omni-Operator herunter:
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" - Installieren Sie den AlloyDB Omni-Operator:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5mBei einer erfolgreichen Installation wird die folgende Ausgabe angezeigt:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- Führen Sie eine Bereinigung durch, indem Sie die heruntergeladene Installationsdatei für den AlloyDB Omni-Operator löschen. Die Datei hat den Namen
alloydbomni-operator-VERSION_NUMBER.tgzund befindet sich in Ihrem aktuellen Arbeitsverzeichnis.
OLM
So installieren Sie den AlloyDB Omni-Operator mit dem Operator Lifecycle Manager:
Rufen Sie https://operatorhub.io/operator/alloydb-omni-operator auf.
Klicken Sie auf die Schaltfläche Installieren, um die Anleitung aufzurufen.
Führen Sie alle Installationsschritte aus.
Nach der Installation des AlloyDB Omni-Operators müssen Sie die cert-manager-Ressourcen manuell in Ihrem Cluster erstellen. Dies ist eine Anforderung. Verwenden Sie diese Befehle:
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
Ersetzen Sie
NAMESPACEdurch den Namespace, in dem sich Ihr Operator befindet, z. B.alloydb-omni-system.
OLM
Wenn Sie den AlloyDB Omni-Operator mit dem OLM in Ihrer Red Hat OpenShift-Umgebung installieren möchten, melden Sie sich in Ihrer Red Hat OpenShift-Webkonsole an.
Wählen Sie Operators > OperatorHub aus.
Suchen Sie im Suchfeld nach dem AlloyDB Omni-Operator.
Abbildung 1: Der AlloyDB Omni-Operator im OperatorHub Klicken Sie im Bereich „AlloyDB Omni-Operator“ auf Installieren.
Abbildung 2: Der Bereich für den AlloyDB Omni-Operator Nach der Installation des AlloyDB Omni-Operators müssen Sie die cert-manager-Ressourcen manuell in Ihrem Cluster erstellen. Dies ist eine Anforderung. Verwenden Sie diese Befehle:
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
Ersetzen Sie
NAMESPACEdurch den Namespace, in dem sich Ihr Operator befindet, z. B.alloydb-omni-system.
GDC Connected Storage konfigurieren
Wenn Sie den AlloyDB Omni-Operator auf einem GDC Connected-Cluster installieren möchten, müssen Sie zusätzliche Schritte ausführen, um den Speicher zu konfigurieren, da für GDC Connected-Cluster keine Standardspeicherklasse festgelegt ist. Sie müssen eine Standardspeicherklasse festlegen, bevor Sie einen AlloyDB Omni-Datenbankcluster erstellen.
Informationen zum Festlegen von Symcloud Storage als Standardspeicherklasse finden Sie unter Symcloud Storage als Standardspeicherklasse festlegen.
Weitere Informationen zum Ändern der Standardeinstellung für alle anderen Speicherklassen finden Sie unter Standard-Speicherklasse ändern.
Datenbankcluster erstellen
Ein AlloyDB Omni-Datenbankcluster enthält alle Speicher- und Rechenressourcen, die zum Ausführen eines AlloyDB Omni-Servers erforderlich sind, einschließlich des primären Servers, aller Replikate und aller Ihrer Daten.
So erstellen Sie einen AlloyDB Omni-Datenbankcluster:
Erstellen Sie einen dedizierten Namespace für Ihren Datenbankcluster. Dadurch werden Isolation und Sicherheit verbessert.
kubectl create namespace DB_CLUSTER_NAMESPACEErsetzen Sie
DB_CLUSTER_NAMESPACEdurch den Namespace, in dem Sie den Datenbankcluster erstellen möchten, z. B.my-db-cluster-namespace.Erstellen Sie eine Manifestdatei mit dem Namen
db-cluster.yamlund folgendem Inhalt. Dieses Manifest definiert sowohl das Secret für das Datenbankpasswort als auch die DBCluster-Ressource selbst.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" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZEErsetzen Sie Folgendes:
DB_CLUSTER_NAME: Der Name dieses Datenbankclusters, z. B.my-db-cluster.ENCODED_PASSWORD: Das Datenbank-Anmeldepasswort für die Standardnutzerrollepostgres, codiert als Base64-String, z. B.Q2hhbmdlTWUxMjM=fürChangeMe123.CPU_COUNT: Die Anzahl der CPUs, die für jede Datenbankinstanz in diesem Datenbankcluster verfügbar sind.MEMORY_SIZE: Die Menge an Arbeitsspeicher pro Datenbankinstanz dieses Datenbankclusters. Wir empfehlen, diesen Wert auf 8 GB pro CPU festzulegen. Wenn Sie beispielsweisecpuweiter oben in diesem Manifest auf2gesetzt haben, empfehlen wir,memoryauf16Gizu setzen.DISK_SIZE: Die Laufwerksgröße pro Datenbankinstanz, z. B.10Gi.
Wenden Sie das Manifest auf Ihren Kubernetes-Cluster an:
kubectl apply -f db-cluster.yaml
Nachdem Sie dieses Manifest angewendet haben, enthält Ihr Kubernetes-Cluster einen AlloyDB Omni-Datenbankcluster mit der angegebenen Arbeitsspeicher-, CPU- und Speicherkonfiguration. Informationen zum Herstellen einer Testverbindung mit dem neuen Datenbankcluster finden Sie unter Mit dem vorinstallierten psql verbinden.
Weitere Informationen zu Kubernetes-Manifesten und dazu, wie Sie sie anwenden, finden Sie unter Ressourcen verwalten.
Nächste Schritte
- AlloyDB Omni ausführen und eine Verbindung dazu herstellen
- AlloyDB Omni verwalten
- Hochverfügbarkeit in Kubernetes verwalten