Komponenten der Laufzeitebene verwalten

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 wenden Sie die Änderungen mit apigeectl an.

So können Sie beispielsweise die Anzahl der Replikate auf dem Nachrichtenprozessor ändern:

  1. Öffnen Sie Ihre OVERRIDES.yaml-Datei. Achten Sie darauf, dieselbe Überschreibungsdatei zu verwenden, mit der die Hybrid-Laufzeit im Cluster installiert wurde.
  2. Suchen Sie in der Datei das Element runtime. Beispiel:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. Ändern Sie die Attribute der Replikatanzahl nach Bedarf. Beispiel:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 4
    ...
  4. Verwenden Sie apigeectl, um die Änderung auf den Cluster anzuwenden:
    apigeectl apply -f ./OVERRIDES.yaml --org --env ENV_NAME

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:

authz.image.pullPolicy

In der Überschreibungsdatei sind die Attribute in der richtigen YAML-Datei formatiert. Für das obige Beispiel ist das Element authz 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 authz.image.pullPolicy auf Always setzen möchten, suchen Sie die folgende YAML-Stanza in der Überschreibungsdatei und legen Sie sie so fest:

authz:
  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 7: Hybrid-Laufzeit konfigurieren.

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. Sie können die Standardwerte auch ändern, indem Sie in der Referenz des Konfigurationsattributs nachsehen.

...
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.

Beispiel für Überschreibungsdateien

Apigee bietet eine Reihe von Beispielüberschreibungen für Dateien, die Sie bei der Einrichtung Ihrer Hybridbereitstellung unterstützen. Es wird empfohlen, die Überschreibungsdatei zu kopieren und zu ändern, die Ihren Installationsanforderungen am ehesten entspricht.

Die folgenden Beispiele sind im Verzeichnis HYBRID_ROOT_DIR/examples enthalten:

Beispiel für Überschreibungsdateien Beschreibung
overrides-small.yaml Dieses Beispiel ist ideal für einen schnellen Einstieg. Zum Starten der hybriden Laufzeitkomponenten werden die empfohlenen Mindestanforderungen verwendet. Diese Beispielkonfiguration basiert so weit wie möglich auf Standardeinstellungen und -werten. Die minimale Replikatanzahl ist jeweils auf 1 festgelegt.
overrides-medium.yaml Dieses Beispiel ist ein guter Ausgangspunkt für Test- und QA-Umgebungen. Den einzelnen Komponenten wurden mehr Ressourcen zugewiesen, um zusätzlichen Traffic zu verarbeiten. Cassandra nutzt SSD-Laufwerke zur Leistung. In dieser Umgebung empfiehlt es sich, die zustandsorientierten und zustandslosen Komponenten auf separaten Knoten zu installieren. Siehe Dedizierte Knoten konfigurieren.
overrides-large.yaml Dieses Beispiel ist ein guter Ausgangspunkt für leistungsstarke Umgebungen wie Vor- und Produktion. Das Beispiel enthält Attribute zum Festlegen von Verschlüsselungsschlüsseln, Passwörtern usw. Einzelne Komponenten haben mindestens zwei Replikate.

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

Sie können das Flag --dry-run mit apigeectl verwenden, um die zusammengeführte Konfigurationsdatei zu 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.

In Apigee Hybrid hängt die Syntax des Flags --dry-run von der ausgeführten Version von kubectl ab. Prüfen Sie die Version von kubectl mit folgendem Befehl:

kubectl version

kubectl-Version 1.17 und niedriger:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=true

kubectl-Version 1.18 und höher:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client

Weitere Informationen finden Sie unter apigeectl.

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.

Verwenden Sie die Option -f mit apigeectl, um den Speicherort und den Namen einer Überschreibungsdatei anzugeben. Beispiel:

apigeectl apply  -f ./test_env_override.yaml

Weitere Informationen finden Sie unter apigeectl.

Hybrid-spezifische Laufzeitebenen-Komponenten löschen

Mit dem Befehl apigeectl delete löschen Sie die hybriden Laufzeitkomponentenkomponenten aus dem Cluster. Zu diesen Komponenten gehören synchronizer, mart, runtime, cassandra und udca. Achten Sie darauf, dieselbe Überschreibungsdatei anzugeben, mit der Sie die Laufzeitkomponenten installiert haben:

Beispiel:

apigeectl delete -f ./OVERRIDES.yaml

Mit dem Befehl apigeectl apply können Sie eine bestimmte Komponente oder Komponenten neu erstellen:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Weitere Informationen finden Sie unter apigeectl.

Bestimmte Komponente löschen

Löschen Sie beispielsweise die synchronizer-Komponente mit diesem Befehl:

apigeectl delete --org --env ENV_NAME -f ./OVERRIDES.yaml

Sie können die Komponente anschließend mit dem Befehl apigeectl apply neu erstellen:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Weitere Informationen finden Sie unter apigeectl.

Alle Komponenten löschen

Verwenden Sie den Befehl apigeectl delete mit dem Flag --all, um alle Ihre Clusterkomponenten, einschließlich der mit dem Befehl apigeectl init erstellten, zu löschen. Achten Sie darauf, dieselbe Überschreibungsdatei anzugeben, mit der Sie die Laufzeitkomponenten installiert haben:

Beispiel:

apigeectl delete -f ./OVERRIDES.yaml --all

Weitere Informationen finden Sie unter apigeectl.