In diesem Thema wird erläutert, wie Sie die hybriden Komponenten der Laufzeit von Apigee konfigurieren und verwalten. Eine Liste der Komponenten der Laufzeitebene, die Sie konfigurieren können, finden Sie unter Übersicht über die Laufzeitdienstkonfiguration.
Informationen zu Überschreibungen
Wenn Sie die Hybridlaufzeit zum ersten Mal in einem Cluster installieren, müssen Sie eine Überschreibungsdatei für die Konfiguration erstellen. Mit dieser Datei können Sie die Standardkonfigurationswerte nach Bedarf überschreiben, Umgebungen konfigurieren, TLS-Zertifikate und Dienstkontoschlüssel referenzieren, Kubernetes-Knotenpools bestimmten Hybridkomponenten zuweisen usw.
Bei den hybriden Installationsschritten werden die Schritte zum Erstellen einer Überschreibungsdatei und die Konfiguration auf einen Cluster angewendet. Wenn Sie die Konfiguration später ändern möchten, ändern Sie die erstellte Datei mit den Einstellungen und wenden Sie sie noch einmal an.
Konfigurationsänderung vornehmen
Wenn Sie eine Konfigurationsänderung an einer Komponente der Hybrid-Laufzeitebene vornehmen möchten, bearbeiten Sie die Überschreibungsdatei und verwenden Sie Helm, um das Diagramm zu aktualisieren, das der Komponente entspricht. Das folgende Diagramm zeigt, welche Diagramme mit welchen Apigee Hybrid-Komponenten übereinstimmen:
Umfang | Komponenten | Helm-Diagramm |
---|---|---|
Apigee-Operator | Apigee-Operator | apigee-operator |
Speicherplatz | Cassandra | apigee-datastore |
In-Memory-Speicher | Redis | apigee-redis |
Berichterstellung | Logger Messwerte |
apigee-telemetry |
Eingehender Traffic | Apigee Ingress Gateway | apigee-ingress-manager |
Organisation | Apigee Connect-Agent MART UDCA Watcher |
apigee-org |
Umgebung | Runtime Synchronizer |
apigee-env |
Umgebungsgruppe | virtualhost | apigee-virtualhost |
So können Sie beispielsweise die Anzahl der Replikate auf dem Nachrichtenprozessor ändern:
- Öffnen Sie Ihre OVERRIDES
.yaml
-Datei. Achten Sie darauf, dieselbe Überschreibungsdatei zu verwenden, mit der die Hybrid-Laufzeit im Cluster installiert wurde. - Suchen Sie in der Datei das Element
runtime
. Beispiel:runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 1 replicaCountMax: 2 ...
-
Ändern Sie die Attribute der Replikatanzahl nach Bedarf. Beispiel:
runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 20 ...
- Führen Sie einen Upgrade für die Umgebung aus.
- ENV_RELEASE_NAME ist der Name, mit dem Sie zuvor das Diagramm
apigee-env
installiert haben. In der Hybrid-Version 1.10 ist es normalerweiseapigee-env-ENV_NAME
. In der Hybrid-Version 1.11 und höher ist dies in der Regel ENV_NAME. - ENV_NAME ist der Name der Umgebung, die Sie aktualisieren.
- OVERRIDES_FILE ist die neue Überschreibungsdatei für Version 1.3.6.
- Aktualisieren Sie das Diagramm:
- Prüfen Sie, ob sie aktiv ist, indem Sie den Status der entsprechenden Umgebung prüfen:
Sie dürfen jeweils nur eine Umgebung installieren. Geben Sie die Umgebung mit --set env=
ENV_NAME an.
Probelauf:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
Welche Konfigurationsattribute können Sie ändern?
Eine vollständige Liste der konfigurierbaren Attribute finden Sie in der Referenz des Konfigurationsattributs. In der Referenz werden nur die Attribute aufgeführt, die Sie ändern können. Wenn Sie versuchen, ein Attribut zu ändern, das nicht in der Referenz enthalten ist, wird die Änderung ignoriert.
Konfigurationsreferenz verwenden
In der Konfigurationsattributreferenz werden Konfigurationselemente durch Punktschreibweise beschrieben. Das erste Element ist der Name des Elements auf oberster Ebene, gefolgt von Attributen und untergeordneten Eigenschaften. Beispiel:
ao.image.pullPolicy
In der Überschreibungsdatei sind die Attribute in der richtigen YAML-Datei formatiert. Für das obige Beispiel ist das Element ao
der obersten Ebene links einrücken. Die untergeordneten Elemente werden darunter eingerückt. Außerdem ist am Ende jedes Elements und des Unterelements ein Doppelpunkt erforderlich.
Wenn Sie beispielsweise das Attribut ao.image.pullPolicy
auf Always
setzen möchten, suchen Sie die folgende YAML-Stanza in der Überschreibungsdatei und legen Sie sie so fest:
ao: image: pullPolicy: Always
In einem anderen Beispiel wird das Attribut cassandra.auth.admin.password
(wie in der Konfigurationsattributreferenz aufgeführt) verwendet, um das Cassandra-Administratorpasswort festzulegen. Um es zu ändern, suchen Sie die folgende YAML-Datei in der Überschreibungsdatei und legen Sie sie so fest:
cassandra: auth: admin: password: abc123
Denken Sie daran, dass in der Konfigurationsattributreferenz alle Eigenschaften beschrieben werden, die Sie für Komponenten der Hybrid-Laufzeitebene festlegen können. Folgen Sie dem oben beschriebenen Muster, um diese Elemente in Ihrer Überschreibungsdatei zu ändern, bevor Sie die Änderungen auf den Cluster anwenden.
Vordefinierte Beispiele von Überschreibungsdateien verwenden
Wenn Sie die Hybridlaufzeit erstmalig installieren, empfiehlt Apigee, dass Sie eine der vorkonfigurierten Beispieldateien verwenden. Diese Beispiele enthalten einen vollständigen Satz von Konfigurationseigenschaften für bestimmte Installationsszenarien, z. B. zum Einrichten einer Produktions- oder Testinstallation. Sie müssen lediglich die entsprechenden Werte für die Attribute angeben und die Überschreibungsdatei auf den Cluster anwenden. Weitere Informationen finden Sie unter Schritt 6: Überschreibungen erstellen.
Informationen zu Standardeinstellungen für die Konfiguration
Apigee behält seine Standardkonfiguration der Datei HYBRID_ROOT_DIR/config/values.yaml
bei. Ihre Überschreibungen für Dateien entsprechen derselben YAML-Struktur wie values.yaml
.
Eine Überschreibungsdatei enthält in der Regel nur eine Teilmenge der Konfigurationsattribute in values.yaml
. Beachten Sie, dass nicht alle Attribute bearbeitet werden können. Wenn Sie eine Konfiguration auf einen Cluster anwenden, werden die Überschreibungen mit den Standardeinstellungen zusammengeführt, um die vollständige Konfiguration des Kubernetes-Clusters zu erstellen. Weitere Informationen finden Sie unter Zusammengeführte Konfiguration testen.
Der folgende Code zeigt die Standardkonfiguration für die Komponente mart
, wie sie in values.yaml
zu finden ist. Beachten Sie, dass einige Werte Standardwerte haben, andere nicht, zum Beispiel sslCertPath
und sslKeyPath
. Sie müssen diese fehlenden Werte in der Überschreibungsdatei angeben, wie in den Installationsschritten erläutert.
Wenn Sie einen der Standardwerte ändern möchten, sollten Sie unter Referenz der Konfigurationsattribute nachsehen, ob diese bearbeitbar sind.
... mart: replicaCountMin: 2 replicaCountMax: 4 targetCPUUtilizationPercentage: 75 terminationGracePeriodSeconds: 30 sslCertPath: sslKeyPath: hostAlias: nodeSelector: key: value: revision: blue image: url: "gcr.io/apigee-release/hybrid/apigee-mart-server" tag: "1.3.6" pullPolicy: IfNotPresent resources: requests: cpu: 500m memory: 512Mi initCheckCF: resources: requests: cpu: 10m livenessProbe: timeoutSeconds: 1 failureThreshold: 12 periodSeconds: 5 initialDelaySeconds: 15 readinessProbe: timeoutSeconds: 1 successThreshold: 1 failureThreshold: 2 periodSeconds: 5 initialDelaySeconds: 15 metricsURL: "/v1/server/metrics" cwcAppend: | ...
Wenn Sie die Standardeinstellungen einer Komponente ändern möchten und die Komponente noch nicht in der Überschreibungsdatei enthalten ist, können Sie die YAML-Datei aus values.yaml
in die Überschreibungsdatei kopieren und dort ändern.
Benutzerdefinierte Annotationen
Annotationen sind Schlüssel/Wert-Zuordnungen, mit denen Metadaten an Apigee Hybrid-Kubernetes-Pods angehängt werden. Sie können benutzerdefinierte Annotationen für die folgenden Attribute erstellen, die in der Referenz zu Konfigurationsattributen aufgeführt sind:
Zum Hinzufügen einer benutzerdefinierten Annotation fügen Sie der Datei OVERRIDES.yaml
für die entsprechende Komponente eine Stanza hinzu.
Das folgende Beispiel zeigt, wie eine Annotation in runtime
-Pods angegeben werden kann:
runtime: annotations: businessunit: "bu1"
Zusammengeführte Konfiguration testen
Mit dem Flag --dry-run
können Sie die zusammengeführte Konfigurationsdatei testen, ohne sie tatsächlich auf Ihren Cluster anzuwenden. Diese Option ist nützlich, um ein Installationsproblem zu beheben, da Sie genau sehen, was auf den Cluster angewendet wird.
Es empfiehlt sich außerdem, die Konfiguration zu testen und in der Versionsverwaltung zu speichern, damit Sie einen Verweis auf die Ressourcen haben, die im Cluster installiert und konfiguriert sind.
kubectl apply -k apigee-operator/etc/crds/default/
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
helm upgrade ingress-manager apigee-ingress-manager/ / --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
Nach Bedarf mehrere Überschreibungen erstellen
Sie können beliebig viele Überschreibungen erstellen, wobei jede Datei eine bestimmte Anforderung erfüllt. Nehmen wir z. B. an, dass Sie eine Überschreibungsdatei haben, die Ihren Cluster für die Produktion wiedergibt, und eine weitere Datei zum Erstellen eines Testclusters. Sie können diese Dateien dann in Ihrem Versionsverwaltungssystem verwalten.
Beispiel:
helm upgrade test-1-env apigee-env/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=test-1-env \ -f test-1-env-overrides.yaml
Hybrid-spezifische Laufzeitebenen-Komponenten löschen
Die Komponenten der Laufzeitebene umfassen synchronizer
, mart
, runtime
, cassandra
und udca
.
Mit dem Befehl helm delete
löschen Sie die hybriden Laufzeitkomponentenkomponenten aus dem Cluster. Achten Sie darauf, dieselbe Überschreibungsdatei anzugeben, mit der Sie die Laufzeitkomponenten installiert haben:
Beispiel:
In Helm müssen Sie jede Komponente einzeln löschen. Löschen Sie beispielsweise die cassandra
-Komponente mit dem folgenden Befehl:
helm -n APIGEE_NAMESPACE delete datastore
Im obigen Beispiel wurde die Datenspeicherkomponente mit dem Namen „datastore” installiert. Wenn Sie sie mit einem anderen Namen installiert haben, geben Sie diesen Namen an, um die Komponente zu löschen. Wenn Sie beispielsweise das Diagramm apigee-datastore
mit helm install my-cassandra-storage apigee-datastore/
installiert haben, Sie würden diese mit dem folgenden Befehl löschen:
helm delete -n apigee my-cassandra-storage
So erstellen Sie eine bestimmte Komponente oder Komponenten (die Umgebungsgruppe in diesem Beispiel) neu:
helm upgrade ENV_GROUP apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml