Apigee Hybrid mit Helm-Diagrammen installieren und verwalten
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In diesem Dokument wird beschrieben, wie Sie Apigee Hybrid v1.10 mit Helm-Diagrammen installieren.
Version
Apigee Hybrid-Helm-Diagramme sind für Apigee Hybrid v1.10.x vorgesehen. Eine Liste der Hybrid-Versionen finden Sie unter Apigee Hybrid-Releaseverlauf.
Dieser Release unterstützt nur die Apigee Hybrid-Version 1.10.5.
Dieser Release unterstützt:
Neue Apigee Hybrid-Installationen.
Vorhandene Apigee Hybrid-Installationen wurden auf Version 1.10.5 aktualisiert und mit dem Apigee Hybrid-Helm-Migrationstool auf die Helm-Verwaltung migriert.
Unterstützte Kubernetes-Plattformen und -Versionen
Plattform
Versionen
GKE
1.24, 1.25, 1.26
AKS
1.24, 1.25, 1.26
EKS
1.24, 1.25, 1.26
OpenShift
4.11, 4.12
Beschränkungen
Helm-Diagramme unterstützen CRDs nicht vollständig. Daher verwenden wir den Befehl kubectl -k, um sie zu installieren und zu aktualisieren.
Wir befolgen Community- und Google-Best-Practices für die Kubernetes-Verwaltung. CRD-Bereitstellungen über Helm haben noch keinen Community-Status erreicht, in dem wir umfassende Unterstützung oder Anfragen für ein solches Modell sehen. Daher sollte die Verwaltung von Apigee-CRDs mit kubectl erfolgen, wie in diesem Dokument erwähnt.
In apigeectl haben wir Dateien innerhalb von overrides.yaml für Dienstkonten und Zertifikate verwendet. Helm unterstützt jedoch keine Referenzen auf Dateien außerhalb des Diagrammverzeichnisses. Wählen Sie eine der folgenden Optionen für Dienstkonto- und Zertifikatsdateien aus:
Platzieren Sie Kopien relevanter Dateien in jedem Diagrammverzeichnis.
Sie können in jedem Diagrammverzeichnis für jede Datei oder einen Ordner symbolische Links erstellen. Helm folgt symbolischen Links aus dem Diagrammverzeichnis, gibt aber eine Warnung wie die folgende aus: apigee-operator/gsa -> ../gsa
Verwenden Sie Kubernetes-Secrets. Zum Beispiel für Dienstkonten:
In dieser Tabelle sind die Ressourcen und Berechtigungen aufgeführt, die für Kubernetes und Apigee erforderlich sind.
Zum Filtern dieser Tabelle haben Sie folgende Möglichkeiten: Wählen Sie eine Kategorie aus, geben Sie einen Suchbegriff ein oder klicken Sie auf eine Spaltenüberschrift, um zu sortieren.
Die Installation der Komponenten erfolgt von links nach rechts, wie in der folgenden Abbildung dargestellt. Komponenten, die in der Abbildung vertikal gestapelt sind, können zusammen und in beliebiger Reihenfolge installiert werden.
Nachdem Sie eine Komponente installiert haben, können Sie diese Komponente jederzeit einzeln aktualisieren, zum Beispiel Replikat, Arbeitsspeicher, CPU usw.
Installation von Apigee Hybrid mit Helm-Diagrammen vorbereiten
Erstellen Sie den Namespace, der für apigee-Ressourcen verwendet wird.
Dieser sollte mit dem Namespace-Feld in der Datei overrides.yaml übereinstimmen. Wenn dieses in overrides.yaml nicht vorhanden ist, ist die Standardeinstellung apigee.
Prüfen Sie, ob der Namespace bereits vorhanden ist:
kubectl get namespace apigee
Wenn der Namespace vorhanden ist, enthält Ihre Ausgabe Folgendes:
NAME STATUS AGE
apigee Active 1d
Wenn der Namespace noch nicht vorhanden ist, erstellen Sie ihn:
kubectl create namespace apigee
Erstellen Sie den Namespace apigee-system, der von den Apigee-Operatorressourcen verwendet wird.
Prüfen Sie, ob der Namespace bereits vorhanden ist:
kubectl get namespace apigee-system
Wenn der Namespace noch nicht vorhanden ist, erstellen Sie ihn:
kubectl create namespace apigee-system
Erstellen Sie die Dienstkonten und weisen Sie ihnen die entsprechenden IAM-Rollen zu. Apigee Hybrid verwendet die folgenden Dienstkonten:
Dienstkonto
IAM-Rollen
apigee-cassandra
Storage Object Admin
apigee-logger
Logs Writer
apigee-mart
Apigee Connect Agent
apigee-metrics
Monitoring Metric Writer
apigee-runtime
Keine Rolle erforderlich
apigee-synchronizer
Apigee Synchronizer Manager
apigee-udca
Apigee Analytics Agent
apigee-watcher
Apigee-Laufzeit-Agent
Apigee stellt das Tool create-service-account im Verzeichnis apigee-operator/etc/tools bereit:
Dieses Tool erstellt die Dienstkonten, weist jedem Konto die IAM-Rollen zu und lädt die Zertifikatsdateien im JSON-Format für jedes Konto herunter.
Erstellen Sie das Verzeichnis, in das Sie die Zertifikatsdateien des Dienstkontos herunterladen möchten. Dies wird im folgenden Befehl anstelle von SERVICE_ACCOUNTS_PATH angegeben.
Sie können alle Dienstkonten mit einem einzigen Befehl mit den folgenden Optionen erstellen:
Dies ist dieselbe Überschreibungskonfiguration, die Sie für diese Helm-Installation verwenden werden. Weitere Einstellungen finden Sie in der Referenz zu Konfigurationsattributen.
Wenn die Ausgabe nicht die Dienstkonto-ID enthält, aktivieren Sie den Synchronizer-Zugriff. Ihr Konto muss die IAM-Rolle "Apigee Organization Admin" (roles/apigee.admin) haben, um diese Aufgabe ausführen zu können.
Prüfen Sie die vorhandenen Labels auf den Clusterknoten.
Standardmäßig plant Apigee Daten-Pods auf Knoten mit dem Label cloud.google.com/gke-nodepool=apigee-data und Laufzeit-Pods auf Knoten mit dem Label cloud.google.com/gke-nodepool=apigee-runtime. Sie können die Knotenpoollabels in der Datei overrides.yaml anpassen.
Prüfen Sie, ob sie aktiv ist, indem Sie den Status der entsprechenden Umgebung prüfen:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE
apigee-org1-dev-xxx running 2d
Erstellen Sie die TLS-Zertifikate. Sie müssen TLS-Zertifikate für das Laufzeit-Ingress-Gateway in Ihrer Apigee Hybrid-Konfiguration bereitstellen.
Erstellen Sie die Zertifikate. In einer Produktionsumgebung müssen Sie signierte Zertifikate verwenden. Sie können entweder ein Zertifikat und ein Schlüsselpaar oder ein Kubernetes-Secret verwenden.
Zu Demonstrationszwecken und zum Testen der Installation kann das Laufzeit-Gateway selbst signierte Anmeldedaten akzeptieren. Im folgenden Beispiel wird openssl verwendet, um die selbst signierten Anmeldedaten zu generieren:
Sie dürfen jeweils nur eine Umgebungsgruppe (virtualhost) installieren. Geben Sie die Umgebungsgruppe mit --set envgroup=ENV_GROUP_NAME an:
# repeat the following command for each env group mentioned in the overrides.yaml file
helm upgrade apigee-virtualhost-ENV_GROUP_NAME apigee-virtualhost/ \
--install \
--namespace apigee \
--atomic \
--set envgroup=ENV_GROUP_NAME \
-f overrides.yaml
Dadurch wird ApigeeRouteConfig (ARC) erstellt, das intern ApigeeRoute (ARC) erstellt, sobald der Apigee-Watcher die Umgebungsgruppendetails aus der Steuerungsebene abruft. Prüfen Sie daher, ob die entsprechende AR ausgeführt wird:
kubectl -n apigee get arc
NAME STATE AGE
apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE
apigee-org1-dev-egroup-xxxxxx running 2d
Zusätzliche Anwendungsfälle für Helm-Diagramme mit Apigee Hybrid
Cassandra-Back-up und -Wiederherstellung
So aktivieren Sie die Sicherung:
Aktualisieren Sie die Cassandra-Sicherungsdetails in der Datei overrides.yaml:
Weitere Informationen zur Cassandra-Sicherung und -Wiederherstellung finden Sie unter Cassandra-Sicherungsübersicht.
Multiregionale Erweiterung
Die multiregionale Einrichtung mit Helm-Diagrammen hat dieselben Voraussetzungen wie die aktuellen apigeectl-Verfahren. Weitere Informationen finden Sie unter Vorbereitung für multiregionale Bereitstellungen.
Das Verfahren zur Konfiguration von Hybrid für mehrere Regionen entspricht dem vorhandenen Verfahren bis zur Konfiguration des Seed-Hosts für mehrere Regionen und Einrichtung des Kubernetes-Clusters und -Kontexts.
Erste Region konfigurieren
Führen Sie die folgenden Schritte aus, um die erste Region zu konfigurieren und die Konfiguration der zweiten Region vorzubereiten:
SEED_HOST_IP_ADDRESS durch die IP-Adresse des Seed-Hosts, z. B. 10.0.0.11.
DATACENTER_NAME durch den Namen des Rechenzentrums, z. B. dc-2.
RACK_NAME durch den Rack-Namen, z. B. ra-1.
CLUSTER_NAME durch den Namen Ihres Apigee-Clusters. Der Standardwert ist apigeecluster. Wenn Sie einen anderen Clusternamen verwenden, müssen Sie einen Wert für cassandra.clusterName angeben.
Dieser Wert muss in allen Regionen gleich sein.
Kopieren Sie das Zertifikat aus dem vorhandenen in den neuen Cluster.
Der neue CA-Stamm wird von Cassandra und anderen Hybrid-Komponenten für mTLS verwendet.
Daher ist es wichtig, dass im Cluster konsistente Zertifikate vorhanden sind.
Legen Sie für den Kontext den ursprünglichen Namespace fest:
kubectl config use-context ORIGINAL_CLUSTER_NAME
Exportieren Sie die aktuelle Namespace-Konfiguration in eine Datei:
kubectl get namespace apigee -o yaml > apigee-namespace.yaml
Exportieren Sie das apigee-ca-Secret in eine Datei:
kubectl -n cert-manager get secret apigee-ca -o yaml > apigee-ca.yaml
Legen Sie für den Kontext den Clusternamen der neuen Region fest:
kubectl config use-context NEW_CLUSTER_NAME
Importieren Sie die Namespace-Konfiguration in den neuen Cluster. Achten Sie darauf, den Namespace in der Datei zu aktualisieren, wenn Sie in der neuen Region einen anderen Namespace verwenden:
kubectl apply -f apigee-namespace.yaml
Importieren Sie das Secret in den neuen Cluster:
kubectl -n cert-manager apply -f apigee-ca.yaml
Verwenden Sie jetzt Helm-Diagramme, um Apigee Hybrid in der neuen Region mit den folgenden Helm-Diagrammbefehlen zu installieren (wie in Region 1):
Nachdem Sie alle Komponenten installiert haben, richten Sie Cassandra auf allen Pods in den neuen Rechenzentren ein. Eine Anleitung finden Sie unter Apigee Hybrid für mehrere Regionen konfigurieren. Wählen Sie Ihre Plattform aus, scrollen Sie zu Neue Region einrichten und suchen Sie nach Schritt 5.
Sobald die Datenreplikation abgeschlossen und überprüft wurde, aktualisieren Sie die Seed-Hosts:
Entfernen Sie multiRegionSeedHost: 10.0.0.11 aus overrides-DATACENTER_NAME.yaml.
Der Eintrag multiRegionSeedHost ist nach der Einrichtung der Datenreplikation nicht mehr erforderlich. Außerdem ändern sich die Pod-IP-Adressen im Laufe der Zeit.
Wenden Sie die Änderung noch einmal an, um die Apigee-Datenspeicher-CR zu aktualisieren:
Anstatt sich auf das öffentliche Google Cloud-Repository zu verlassen, können Sie die Images optional privat hosten. Anstatt jede Komponente zu überschreiben, können Sie Hub-Details für die Überschreibungen hinzufügen:
hub: PRIVATE_REPO
Wenn beispielsweise der folgende Hub bereitgestellt wird, wird der Image-Pfad:
hub: private-docker-host.com
als:
## an example of internal component vs 3rd party
containers:
- name: apigee-udca
image: private-docker-host.com/apigee-udca:1.10.5
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.com/apigee-asm-ingress:1.17.2-asm.8-distroless
imagePullPolicy: IfNotPresent
Klicken, um eine Liste der Apigee-Images zu maximieren
Wenn Sie das Markierungs- und Toleranzfeature von Kubernetes verwenden möchten, müssen Sie das Überschreibungsattribut tolerations für jede Apigee Hybrid-Komponente definieren.
Die folgenden Komponenten unterstützen die Definition von Toleranzen:
Wenn Sie ein bestimmtes Update oder einen bestimmten Release deinstallieren möchten, können Sie den Befehl helm [uninstall/delete] RELEASE-NAME -n NAMESPACE verwenden.
Führen Sie die folgenden Schritte aus, um Apigee Hybrid vollständig aus dem Cluster zu deinstallieren:
Löschen Sie die virtuellen Hosts. Führen Sie diesen Befehl für jeden virtuellen Host aus:
helm -n apigee delete VIRTUALHOST_RELEASE-NAME
Löschen Sie die Umgebungen. Führen Sie diesen Befehl für jede Umgebung aus:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2026-04-11 (UTC)."],[],[]]