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 verwenden Sie Helm, um das Diagramm zu aktualisieren, das der Komponente entspricht. Im folgenden Diagramm sehen Sie, welche Diagramme welchen Apigee-Hybridkomponenten entsprechen:

UmfangKomponentenHelm-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:

  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. Beispiele:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 20
    ...
  4. Wenden Sie die Änderungen mit dem apigee-org-Diagramm an:

      helm upgrade ORG_NAME apigee-org/ \
        --namespace apigee \
        --atomic \
        -f OVERRIDES_FILE.yaml
      

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-system \
  --atomic \
  -f OVERRIDES_FILE.yaml \
  --dry-run
helm upgrade ingress-manager apigee-ingress-manager/ /
  --install \
  --namespace apigee \
  --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.

Beispiele:

helm upgrade test-1-env apigee-env/ \
  --namespace apigee \
  --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:

Beispiele:

In Helm müssen Sie jede Komponente einzeln löschen. Löschen Sie beispielsweise die cassandra-Komponente mit dem folgenden Befehl:

helm -n apigee 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 \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml