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.
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: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" 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 selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 # You do not need to set Annotations or LoadBalancerIP if you are creating your own Kubernetes # service for ingress deployment. In prod, it's recommended to create your own Kubernetes service. # See: Expose Apigee ingress gateway. 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.Informationen zu Installationen in Produktionsumgebungen finden Sie in den Speicheranforderungen für die Cassandra-Datenbank unter Cassandra für die Produktion konfigurieren.
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 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 ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 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 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" cassandra: hostNetwork: false virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ao: args: disableIstioConfigInAPIServer: true 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. |
SVC_LOAD_BALANCER_IP | Optional: 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. |
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:
|
Zusammenfassung
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