Schritt 7: Hybrid-Laufzeit konfigurieren

Konfigurationsüberschreibungen festlegen

Das Installationsprogramm von Apigee Hybrid verwendet für viele Einstellungen Standardwerte. Es gibt jedoch einige Einstellungen, für die keine Standardeinstellungen festgelegt sind. Sie müssen für diese Einstellungen wie unten beschrieben Werte angeben.

  1. Sie müssen sich im Verzeichnis hybrid-base-directory/hybrid-files/overrides/ befinden.
    cd hybrid-base-directory/hybrid-files/overrides
  2. Erstellen Sie in Ihrem bevorzugten Texteditor eine neue Datei mit dem Namen overrides.yaml. Beispiel:
    vi overrides.yaml

    overrides.yaml stellt die Konfiguration für Ihre spezielle Installation von Apigee Hybrid bereit. Die Datei „overrides“ in diesem Schritt bietet eine einfache Konfiguration für eine Hybrid-Laufzeitinstallation mit geringem Ressourcenbedarf, die für die erste Installation geeignet ist.

  3. Fügen Sie in overrides.yaml die erforderlichen Attributwerte hinzu (siehe unten). Im Folgenden finden Sie eine detaillierte Beschreibung der einzelnen Attribute:

    Syntax

    Ihre Datei overrides.yaml muss die unten aufgeführte Struktur und Syntax haben. Werte in red, bold italics sind Attributwerte, die Sie angeben müssen. Sie werden in der nachfolgenden Tabelle beschrieben.

    Es gibt Unterschiede zwischen den verschiedenen Plattformen für die Google Cloud-Projektregion und die Kubernetes-Clusterregion. Wählen Sie die Plattform aus, auf der Sie Apigee hybrid installieren.

    gcp:
      region: analytics-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-location # Must be the closest Google Cloud region to your cluster.
    org: org-name
    
    instanceID: "unique-instance-identifier"
    
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
    
    virtualhosts:
      - name: environment-group-name
        sslCertPath: ./certs/cert-name.pem
        sslKeyPath: ./certs/key-name.key
    
    envs:
      - name: environment-name
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-synchronizer.json
          udca: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
          runtime: ./service-accounts/runtime-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
            # Use the same service account for mart and connectAgent
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/watcher-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-watcher.json
    
    logger:
      enabled: false
            # Set to false to disable logger for GKE installations.
            # Set to true for all platforms other than GKE.
            # See apigee-logger in Service accounts and roles used by hybrid components.
      serviceAccountPath: ./service-accounts/logger-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-logger.json
    
    

    Beispiel

    Das folgende Beispiel zeigt eine fertige Überschreibungsdatei mit hinzugefügten Attributwerten:

    gcp:
      region: us-central1
      projectID: hybrid-example
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-example
    
    instanceID: "my_hybrid_example"
    
    cassandra:
      hostNetwork: false
    
    virtualhosts:
      - name: example-env-group
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-udca.json
          runtime: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, example-hybrid-apigee-mart.json
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-watcher.json
    
    logger:
      enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms.
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, logger-service-account-name.json
    
    
  4. Wenn Sie fertig sind, speichern Sie die Datei.

In der folgenden Tabelle sind alle Attributwerte beschrieben, die Sie in der Überschreibungsdatei angeben müssen. Weitere Informationen finden Sie unter Referenz zu Konfigurationsattributen.

Variable Beschreibung
analytics-region In GKE müssen Sie diesen Wert auf dieselbe Region festlegen, in der der Cluster ausgeführt wird. Wählen Sie auf allen anderen Plattformen die nächstgelegene Analyseregion für Ihren Cluster aus, die Analytics unterstützt. Weitere Informationen finden Sie in der Tabelle in Teil 1, Schritt 4: Organisation erstellen.

Dies ist der Wert, den Sie zuvor der Umgebungsvariable ANALYTICS_REGION zugewiesen haben.

gcp-project-id Gibt das Google Cloud-Projekt an, in dem apigee-logger und apigee-metrics ihre Daten per Push übertragen. Dies ist der Wert, der der Umgebungsvariablen PROJECT_ID zugewiesen ist.
cluster-name Der Name Ihres Kubernetes-Clusters. Dies ist der Wert, der der Umgebungsvariablen CLUSTER_NAME zugewiesen ist.
cluster-location Die Region, in der der Cluster ausgeführt wird. Dies ist die Region, in der Sie den Cluster in Schritt 1: Cluster erstellen erstellt haben.

Dies ist der Wert, den Sie zuvor der Umgebungsvariable CLUSTER_LOCATION zugewiesen haben.

org-name Die ID Ihrer Apigee Hybrid-Organisation. Dies ist der Wert, der der Umgebungsvariablen ORG_NAME zugewiesen ist.
unique-instance-identifier

Ein eindeutiger String zur Identifizierung dieser Instanz. Es kann eine beliebige Kombination aus Buchstaben und Zahlen mit einer Länge von bis zu 63 Zeichen sein.

Sie können mehrere Organisationen im selben Cluster erstellen, die instanceId müssen jedoch für alle Organisationen in demselben Kubernetes-Cluster identisch sein.
environment-group-name Der Name der Umgebungsgruppe, der Ihre Umgebungen zugewiesen sind. Das ist die Gruppe, die Sie unter Projekt und Organisation einrichten – Schritt 5: Umgebungsgruppe erstellen erstellt haben. Dies ist der Wert, der der Umgebungsvariablen ENV_GROUP zugewiesen ist.
cert-name
key-name
Geben Sie den Namen der selbst signierten TLS-Schlüssel- und Zertifikatsdateien ein, die Sie zuvor in Schritt 6: TLS-Zertifikate erstellen erstellt haben. Diese Dateien müssen sich im Verzeichnis base_directory/hybrid-files/certs befinden. Beispiel:

sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
environment-name Verwenden Sie denselben Namen, den Sie beim Erstellen einer Umgebung in der UI verwendet haben, wie unter Projekt und Organisation einrichten – Schritt 5: Umgebungsgruppe erstellen erläutert.
synchronizer-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-synchronizer-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool unter Hybride Laufzeitkonfiguration – Schritt 6: Dienstkonten und Anmeldedaten erstellen generiert haben. Sie können die Liste der Dienstkontodateien in Ihrem service-accounts/-Verzeichnis einsehen. Beispiel:

ls ../service-accounts/
udca-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-udca-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.
runtime-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-runtime-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.
mart-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-mart-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.
metrics-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-metrics-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.
udca-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-udca-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.
watcher-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-watcher-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.
logger-service-account-name In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig non-prod. In Produktionsumgebungen der Name der apigee-logger-Dienstkontoschlüsseldatei, die Sie mit dem create-service-account-Tool generiert haben.

Fazit

Die Konfigurationsdatei teilt Kubernetes mit, wie die Hybridkomponenten in einem Cluster bereitgestellt werden sollen. Als Nächstes aktivieren Sie den Synchronisierungszugriff, damit die Apigee-Laufzeit und die Verwaltungsebenen kommunizieren können.

1 2 3 4 5 6 7 (WEITER) Schritt 8: Synchronizer-Zugriff aktivieren 9