Apigee Ingress Gateway verwalten

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 und ingressGateways[].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 und ingressGateways[].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 und ingressGateways[].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. Ihre Cloud-Plattform verwendet Annotationen, um Ihre Hybridinstallation zu konfigurieren, z. B. um den Load Balancer-Typ auf intern oder extern festzulegen. Beispiele:

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    Annotationen variieren je nach Plattform. Erforderliche und vorgeschlagene Annotationen finden Sie in der Dokumentation zu Ihrer Plattform.

    Siehe ingressGateways[].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 auf den Organisationsbereich an:

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

Verwaltungsaufgaben

Häufige Verwaltungsaufgaben für das Apigee-Ingress-Gateway:

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.

Übernehmen Sie die Änderung:

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

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.

Übernehmen Sie die Änderung:

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

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.

Übernehmen Sie die Änderung:

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

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

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

Änderungen anwenden:

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

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

Übernehmen Sie die Änderung:

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

Virtuelle Hosts zu Apigee-Ingress-Gateway-Bereitstellungen zuordnen

Sie können Selektorlabels verwenden, um einen virtuellen Host der Bereitstellung von Apigee Ingress-Gateways zuzuordnen. Im folgenden Beispiel ist der virtuelle Host spam-vh so konfiguriert, dass er auf dem Ingress-Gateway meat und die anderen beiden virtuellen Hosts auf dem Ingress-Gateway fruit ausgeführt werden. Die Ingress-Gateways müssen mit einem ordnungsgemäßen Label versehen sein, wie unter Zusätzliche Cloud 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

    

Benutzerdefinierte Chiffresammlungen zu Apigee Ingress-Gateway-Bereitstellungen hinzufügen

Sie können Ihrer Apigee Ingress-Gateway-Bereitstellung benutzerdefinierte Chiffresammlungen mit dem Attribut virtualhosts.cipherSuites in Ihrer Überschreibungsdatei hinzufügen.

Unter virtualhosts.cipherSuites finden Sie die in Apigee Hybrid aktivierten Standard-Chiffresammlungen.

Sie können ältere TLS-Versionen mit dem Attribut virtualhosts.minTLSProtocolVersion aktivieren und Ihrer Apigee Ingress-Gateway-Bereitstellung benutzerdefinierte Chiffresammlungen mit dem Attribut virtualhosts.cipherSuites in Ihrer Überschreibungsdatei hinzufügen.

So aktivieren Sie beispielsweise TLS v.1.1:

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

Ingress-Zugriffslogs anpassen

Sie können das Zugriffslogziel und -format des Apigee Ingress-Gateways mit den Konfigurationsattributen istiod.accessLogFile und istiod.accessLogFormat anpassen. Im folgenden Beispiel wird die Ausgabe an /dev/stdout gesendet. Dies ist der Standardwert für istiod.accessLogFile:

istiod:
  accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'

Sie können das Zugriffs-Logging für das Apigee-Ingress-Gateway deaktivieren, indem Sie istiod.accessLogFile und einen leeren Wert zuweisen. Beispiele:

istiod:
  accessLogFile: ''

FAQ

Wie funktioniert dies mit meiner bestehenden Cloud 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 Cloud 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?
Apigee übernimmt die Aktualisierung von Apigee Ingress-Gateway-Komponenten des Apigee Ingress-Gateways, die während regulärer Hybridupgrades und Patchreleases ausgeführt werden.
Wie kann ich Port 80 im Apigee Ingress-Gateway freigeben?
Port 80 wird vom Apigee Ingress-Gateway nicht unterstützt. Wenn Sie von Cloud 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.