Ab Apigee Hybrid-Version 1.8 verwendet Apigee Hybrid das Ingress-Ingress-Gateway, um das Ingress-Gateway für Hybrid-Umgebungen bereitzustellen.
Apigee Ingress-Gateway konfigurieren
Sie können Ihre Ingress-Gateways in Ihrem overrides.yaml
konfigurieren. Beispiel:
Syntax
ingressGateways: - name: INGRESS_NAME replicaCountMin: REPLICAS_MIN replicaCountMax: REPLICAS_MAX resources: requests: cpu: CPU_COUNT_REQ memory: MEMORY_REQ limits: cpu: CPU_COUNT_LIMIT memory: MEMORY_LIMIT svcAnnotations: # optional. See Known issue 243599452. SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional
Beispiel
ingressGateways: - name: prod1 replicaCountMin: 2 replicaCountMax: 100 resources: requests: cpu: 1 memory: 1Gi limits: cpu: 2 memory: 2Gi svcAnnotations: # optional. See Known issue 243599452. networking.gke.io/load-balancer-type: "Internal" svcLoadBalancerIP: 198.252.0.123
- INGRESS_NAME ist der Name des Ingress-Gateway-Deployments. Dies kann ein beliebiger Name sein, der die folgenden Anforderungen erfüllt:
- Darf maximal 17 Zeichen lang sein
- Darf nur kleingeschriebene, alphanumerische Zeichen enthalten, "-" oder ".".
- Muss mit einem alphanumerischen Zeichen beginnen.
- Muss mit einem alphanumerischen Zeichen enden.
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter
ingressGateways[].name
. - REPLICAS_MIN und REPLICAS_MAX sind die minimalen und maximalen Replikatzahlen für das Apigee-Ingress-Gateway in Ihrer Installation. Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter
ingressGateways[].replicaCountMin
undingressGateways[].replicaCountMax
. - CPU_COUNT_REQ und MEMORY_REQ sind die CPU- und Speicheranforderung für jedes Replikat des Apigee Ingress-Gateways in Ihrer Installation.
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter
ingressGateways[].resources.requests.cpu
undingressGateways[].resources.requests.memory
. - CPU_COUNT_LIMIT und MEMORY_LIMIT: die maximalen CPU- und Arbeitsspeicherlimits für jedes Replikat des Apigee Ingress-Gateways in Ihrer Installation.
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter
ingressGateways[].resources.limits.cpu
undingressGateways[].resources.limits.memory
. - 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. Beispiel:
ingressGateways: svcAnnotations: networking.gke.io/load-balancer-type: "Internal"
Annotationen variieren je nach Plattform. Erforderliche und vorgeschlagene Annotationen finden Sie in der Dokumentation Ihrer Plattform.
SieheingressGateways[].svcAnnotations
in der Referenz zu Konfigurationsattributen. - 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.
Siehe
ingressGateways[].svcLoadBalancerIP
in der Referenz zu Konfigurationsattributen.
Konfiguration des Apigee-Ingress-Gateways anwenden
Wenden Sie Änderungen mit apigeectl
auf den Organisationsbereich an.
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org
Verwaltungsaufgaben
Häufige Verwaltungsaufgaben für das Apigee-Ingress-Gateway:
Bereitstellung der Konfiguration für ASM beenden
Nach dem Upgrade auf Apigee Hybrid v1.8 und der Migration des Traffics zum Apigee-Ingress-Gateway können Sie die Bereitstellung der Routingkonfiguration für Anthos Service Mesh beenden.
-
Aktualisieren Sie den Apigee-Controller, um die Aktualisierung von Anthos Service Mesh-CR-Objekten auf dem API-Server zu beenden. Legen Sie in der Überschreibungsdatei Folgendes fest:
ao: args: disableIstioConfigInAPIServer: true
- Prüfen Sie den Status der Bereitstellung mit dem folgenden Befehl, da der Controller durch den vorherigen Befehl neu gestartet wurde:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
-
Passen Sie
virtualhosts
an. Jeder virtuelle Host muss das Selektorlabelapp
mit dem Wertapp: apigee-ingressgateway
enthalten. Mit dieser Änderung kann Anthos Service Mesh-Gateway die Apigee-Routingkonfiguration nicht lesen.Fügen Sie in jedem virtuellen Host das Attribut
selector
hinzu oder ersetzen Sie es:virtualhosts: - name: ENV_GROUP selector: app: apigee-ingressgateway # required ...
Wenden Sie die Konfigurationsänderungen an:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter
virtualhosts.selector
.
Wenden Sie die Konfigurationsänderungen an:
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter ao
.
Skalieren Sie das Apigee-Ingress-Gateway:
Aktualisieren Sie die folgenden Attribute in der Überschreibungendatei.
ingressGateways[].replicaCountMax
ingressGateways[].replicaCountMin
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter ingressGateways
.
Wenden Sie die Änderungen mit apigeectl apply --org
an:
Ressourcenzuweisung aktualisieren
Aktualisieren Sie die folgenden Attribute in der Überschreibungendatei.
ingressGateways[].resources.limits.cpu
ingressGateways[].resources.limits.memory
ingressGateways[].resources.requests.cpu
ingressGateways[].resources.requests.memory
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter ingressGateways
.
Wenden Sie die Änderungen mit apigeectl apply --org
an:
Apigee Ingress Gateway-Dienst aktualisieren
Aktualisieren Sie die folgenden Attribute in der Überschreibungendatei.
ingressGateways[].svcAnnotations
ingressGateways[].svcLoadBalancerIP
Weitere Informationen finden Sie in der Referenz zu Konfigurationsattributen unter ingressGateways
.
Wenden Sie die Änderungen mit apigeectl apply --org
an:
Deaktivieren Sie den Load-Balancer für den Standard-Apigee-Ingress-Gateway-Dienst:
Wenn Sie einen benutzerdefinierten Kubernetes-Dienst für das Deployment Ihres Ingress-Gateways erstellen, können Sie die Erstellung eines Load-Balancers im Kubernetes-Standarddienst deaktivieren. Aktualisieren Sie in der Überschreibungsdatei das Attribut ingressGateways[].svcType
auf ClusterIP
. Beispiel:
ingressGateways: - name: my-ingress-gateway replicaCountMin: 2 replicaCountMax: 10 svcType: ClusterIP
Wenden Sie die Änderungen mit apigeectl apply --org
an:
TLS und mTLS konfigurieren
Weitere Informationen finden sich unter TLS und mTLS auf dem Ingress-Gateway konfigurieren.
Nicht-SNI-Clients aktivieren
Nicht-SNI- und HTTP-Clients aktivieren
Zusätzliche Apigee-Ingress-Gateways installieren
In der Datei overrides.yaml
können Sie mehrere Gateways für eingehenden Traffic hinzufügen. Das Konfigurationsattribut ingressGateways
ist ein Array. Weitere Informationen finden Sie unter ingressGateways in der Referenz zu Konfigurationsattributen.
Beispiel:
ingressGateways: - name: fruit replicaCountMin: 2 replicaCountMax: 10 - name: meat replicaCountMin: 2 replicaCountMax: 10
Wenden Sie die Änderungen mit apigeectl apply --org
an:
Apigee-Ingress auf einen virtuellen Host ausrichten
Sie können ein mit Labels versehenes Apigee-Ingress-Gateway auf einen bestimmten virtuellen Host in Ihrer Überschreibungsdatei ausrichten.
Diese Konfiguration gibt das Ingress-Gateway an, in dem Apigee die Konfiguration des virtuellen Hosts anwendet. Im folgenden Beispiel ist der virtuelle Host spam-vh
so konfiguriert, dass er das Ingress-Gateway mit der Bezeichnung meat
verwendet und die beiden anderen virtuellen Hosts verwenden das Ingress-Gateway fruit
. Die Ingress-Gateways müssen mit einem ordnungsgemäßen Label versehen sein, wie unter Zusätzliche Anthos Service Mesh-Gateways installieren erläutert.
virtualhosts: - name: spam-vh sslCertPath: cert-spam.crt sslKeyPath: cert-spam.key selector: app: apigee-ingressgateway ingress_name: meat - name: banana-vh sslCertPath: cert-banana.crt sslKeyPath: cert-banana.key selector: app: apigee-ingressgateway ingress_name: fruit - name: plum-vh sslCertPath: cert-plum.crt sslKeyPath: cert-plum.key selector: app: apigee-ingressgateway ingress_name: fruit
FAQ
- Wie funktioniert dies mit meiner bestehenden Anthos Service Mesh-/Istio-Installation in einem anderen Namespace?
- Wenn Apigee in einem dedizierten Namespace installiert ist, kann das Apigee-Ingress-Gateway zusammen mit einer bereits vorhandenen Anthos Service Mesh/Istio-Installation im Cluster ausgeführt werden. Das Ingress-Gateway von Apigee speichert keine Konfiguration im API-Server, sodass kein Konflikt auftritt.
- Wer ist für das Upgrade von Apigee Ingress-Gateway-Komponenten verantwortlich?
- Das Upgrade der Apigee-Ingress-Gateway-Komponenten wird von Apigee übernommen und erfolgt während regulärer Hybridupgrades und Patchreleases.
- Wie kann ich Port 80 im Apigee Ingress-Gateway freigeben?
- Port 80 wird vom Apigee Ingress-Gateway nicht unterstützt. Wenn Sie von Anthos Service Mesh zum Apigee Ingress-Gateway migrieren und der Anleitung im Community-Beitrag folgen, um Port 80 zu aktivieren, funktioniert es nicht mit dem Apigee Ingress-Gateway.