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.
Hinweise
Anhand der folgenden Szenarien können Sie feststellen, ob Sie Ihren Cluster für diese konfigurieren möchten. Diese Konfigurationen sind optional.
- Wenn Sie Hybrid in mehreren Regionen installieren möchten, lesen Sie Multiregionale Bereitstellung, bevor Sie fortfahren.
- Apigee hybrid stellt Standardpasswörter für die Cassandra-Nutzer bereit. Wir empfehlen Ihnen jedoch, die Standardpasswörter für Nutzer zu ändern. Ausführliche Informationen dazu finden Sie unter TLS für Cassandra konfigurieren.
- Informationen zum Konfigurieren der Speicher- und Heap-Einstellungen für Cassandra finden Sie unter Speicher- und Heap-Einstellungen konfigurieren.
- Konfigurieren Sie für Szenarien der Produktionsinstallation den nichtflüchtigen SSD-Speicher (Solid State Disk) für Cassandra. Die Verwendung lokaler SSDs für Apigee hybrid wird nicht unterstützt. Weitere Informationen finden Sie unter SSD-Speicher für Produktionsbereitstellungen hinzufügen.
Cluster konfigurieren
Konventionsgemäß werden Konfigurationsüberschreibungen in einer Datei mit dem Namen overrides.yaml
in dem Verzeichnis $HYBRID_FILES/overrides
geschrieben.
- Erstellen Sie eine neue Datei mit dem Namen
overrides.yaml
in Ihrem Verzeichnis$HYBRID_FILES/overrides
. Beispiel:vi $HYBRID_FILES/overrides/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. - Fügen Sie in
overrides.yaml
die erforderlichen Attributwerte hinzu (siehe unten). Im Folgenden finden Sie eine detaillierte Beschreibung der einzelnen Attribute.Wenn Sie Apigee Hybrid in GKE installieren und Workload Identity zum Authentifizieren von Hybridkomponenten verwenden möchten, wählen Sie den Tab GKE – Workload Identity aus, um Ihre
overrides.yaml
-Datei zu konfigurieren.Wählen Sie je nach Ihrer Auswahl in Schritt 4: Dienstkonten und Anmeldedaten erstellen für alle anderen Installationen den Tab für die Nicht-Produktion Non-prod- oder für die Produktion Prod-Umgebungen aus.
Informationen zu Installationen in Produktionsumgebungen finden Sie in den Speicheranforderungen für die Cassandra-Datenbank unter Cassandra für die Produktion konfigurieren.
GKE - Workload Identity
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.Wenn Sie Apigee Hybrid in GKE installieren, haben Sie mit Workload Identity eine Alternative zur Authentifizierung und zum Senden von Anfragen an Google APIs. Eine Übersicht über Workload Identity finden Sie unter:
- Einführung in Workload Identity: Bessere Authentifizierung für Ihre GKE-Anwendungen
- Workload Identity verwenden
Wenn Sie Workload Identity mit Apigee Hybrid in GKE verwenden möchten, verwenden Sie diese Vorlage. Führen Sie dann die Schritte unter Schritt 8: Hybrid-Laufzeit installieren aus, um die Kubernetes-Dienstkonten zu erstellen und sie mit den Google-Dienstkonten zu verknüpfen, die Sie in Schritt 4: Dienstkonten und Anmeldedaten erstellen erstellt haben.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID workloadIdentityEnabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME instanceID: "UNIQUE_INSTANCE_IDENTIFIER" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operator" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 cassandra: hostNetwork: false # false for all GKE installations. # See Multi-region deployment: Prerequisites replicaCount: 3 # Use 1 for demo installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. backup: enabled: true # Set to true for initial installation. # This triggers apigeectl to create the apigee-cassandra-backup Kubernetes service account. # See Cassandra backup overview for instructions on using cassandra.backup. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME logger: enabled: false # Set to false for all GKE installations.
Non-prod
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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operator" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 cassandra: replicaCount: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. 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 selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH 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: NON_PROD_SERVICE_ACCOUNT_FILEPATH
Prod
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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operator" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 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 replicaCount: 3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: capacity: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. See Known issue 243167389. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-synchronizer.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-runtime.json" mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/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: LOGGER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operator" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 cassandra: hostNetwork: false replicaCount: 3 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-synchronizer.json udca: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json runtime: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, LOGGER_SERVICE_ACCOUNT_NAME.json
- 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 2: Organisation erstellen.
Dies ist der Wert, den Sie zuvor der Umgebungsvariable |
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 |
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 Ziffern mit einer Länge von bis zu 63 Zeichen sein. Sie können mehrere Organisationen im selben Cluster erstellen, die |
ENVIRONMENT_GROUP_NAME | Der Name der Umgebungsgruppe, der Ihre Umgebungen zugewiesen sind.
Das ist die Gruppe, die Sie unter Projekt und Organisation einrichten – Schritt 3: 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 5: 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. |
INGRESS_NAME | Der Name des Apigee Ingress-Gateways für Ihre Bereitstellung. Dies kann ein beliebiger Name sein, der die folgenden Anforderungen erfüllt:
Siehe |
SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | Optional: Dies ist ein Schlüssel/Wert-Paar, das Annotationen für Ihren Standarddienst für eingehenden Traffic bereitstellt. Annotationen werden von Ihrer Cloud Platform verwendet, um Ihre Hybridinstallation zu konfigurieren, z. B. um den Load-Balancer-Typ auf intern oder extern festzulegen.
Annotationen variieren je nach Plattform. Erforderliche und vorgeschlagene Annotationen finden Sie in der Dokumentation Ihrer Plattform. Kommentieren Sie diesen Abschnitt aus oder löschen Sie ihn, wenn Sie ihn nicht verwenden. |
SVC_LOAD_BALANCER_IP | Optional: Eine IP-Adresse, die Sie für Ihren Load-Balancer reserviert haben.
Auf Plattformen, die die Angabe der IP-Adresse des Load-Balancers unterstützen, wird der Load-Balancer mit dieser IP-Adresse erstellt.
Auf Plattformen, auf denen Sie die IP-Adresse des Load-Balancers nicht angeben können, wird dieses Attribut ignoriert.
Kommentieren Sie diesen Abschnitt aus oder löschen Sie ihn, wenn Sie ihn nicht verwenden. |
ENVIRONMENT_NAME | Verwenden Sie denselben Namen, den Sie beim Erstellen einer Umgebung in der Benutzeroberfläche verwendet haben, wie unter Projekt und Organisation einrichten – Schritt 3: Umgebungsgruppe erstellen erläutert. |
*_SERVICE_ACCOUNT_FILEPATH | Der Pfad und der Dateiname des JSON-Dateien des Dienstkontos in Ihrem service-accounts/ -Verzeichnis. Die Namen müssen den Pfad zur Dienstkontodatei enthalten. Dies kann ein vollständiger Pfad oder der Pfad relativ zu Ihrem Verzeichnis hybrid-files/ sein. Wenn Sie einen relativen Pfad einfügen, müssen Sie apigeectl , den Befehl zum Anwenden dieser Konfiguration, aus dem Verzeichnis hybrid-files/ aufrufen.
In Nicht-Produktionsumgebungen der Name des einzelnen Dienstkontos, standardmäßig In Produktionsumgebungen der Name der Dienstkontoschlüsseldatei, die Sie mit dem Sie können die Liste der Dienstkontodateien in Ihrem Die Standardnamen der Dienstkonten für die Produktionsumgebung sind:
|
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 (WEITER) Schritt 7: Synchronizer-Zugriff aktivieren 8 9 10 11