管理 Apigee 入站流量网关

配置 Apigee 入站流量网关

您可以在 overrides.yaml 中配置入站流量网关。例如:

语法

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

示例

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 是入站流量网关部署的名称。该字段可以是满足以下要求的任何名称:
    • 长度不得超过 17 个字符
    • 只能包含小写字母数字字符、“-”或“.”
    • 以字母数字字符开头
    • 以字母数字字符结尾

    请参阅配置属性参考文档中的 ingressGateways[].name

  • REPLICAS_MINREPLICAS_MAX:安装中 Apigee 入站流量网关的最小和最大副本数。请参阅配置属性参考文档中的 ingressGateways[].replicaCountMiningressGateways[].replicaCountMax
  • CPU_COUNT_REQMEMORY_REQ:安装中每个 Apigee 入站流量网关副本的 CPU 和内存请求。

    请参阅配置属性参考文档中的 ingressGateways[].resources.requests.cpuingressGateways[].resources.requests.memory

  • CPU_COUNT_LIMITMEMORY_LIMIT:安装中每个 Apigee 入站流量网关副本的 CPU 和内存上限。

    请参阅配置属性参考文档中的 ingressGateways[].resources.limits.cpuingressGateways[].resources.limits.memory

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE(可选):

    这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。例如:

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

    注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。

    请参阅配置属性参考文档中的 ingressGateways[].svcAnnotations
  • SVC_LOAD_BALANCER_IP(可选)。在支持指定负载均衡器 IP 地址的平台上,系统会使用此 IP 地址创建负载均衡器。在不允许指定负载均衡器 IP 地址的平台上,系统会忽略此属性。 请参阅配置属性参考文档中的 ingressGateways[].svcLoadBalancerIP

应用 Apigee 入站流量网关配置

将更改应用到组织范围:

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

管理任务

Apigee 入站流量网关的一些常见管理任务包括:

调节 Apigee 入站流量网关:

更新替换文件中的以下属性。

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

如需了解详情,请参阅配置属性参考文档中的 ingressGateways

应用更改:

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

更新资源分配

更新替换文件中的以下属性。

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

如需了解详情,请参阅配置属性参考文档中的 ingressGateways

应用更改:

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

更新 Apigee 入站流量网关服务

更新替换文件中的以下属性。

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

如需了解详情,请参阅配置属性参考文档中的 ingressGateways

应用更改:

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

停用默认 Apigee 入站流量网关服务的负载均衡器:

如果您为入站流量网关部署创建自定义 Kubernetes 服务,则可以在默认 Kubernetes 服务上停用负载均衡器的创建功能。在替换文件中将 ingressGateways[].svcType 属性更新为 ClusterIP。例如:

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

应用更改:

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

配置 TLS 和 mTLS

请参阅在入站流量网关上配置 TLS 和 mTLS

启用非 SNI 客户端

请参阅启用非 SNI 和 HTTP 客户端

安装其他 Apigee 入站流量网关

overrides.yaml 文件中,您可以添加多个入站流量网关。ingressGateways 配置属性是一个数组。如需了解详情,请参阅配置属性参考文档中的 ingressGateways

例如:

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

应用更改:

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

将虚拟主机映射到 Apigee 入站流量网关部署

您可以使用选择器标签将虚拟主机映射到 Apigee 入站流量网关部署。在以下示例中,虚拟主机 spam-vh 配置为在标有 meat 的入站流量网关上运行,而其他两个虚拟主机在 fruit 入站流量网关上运行。您必须按照安装其他 Anthos Service Mesh 网关中的说明,为入站流量网关正确添加标签。

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

    

将自定义加密套件添加到 Apigee 入站流量网关部署

Apigee Hybrid 支持 TLS v1.2 加密套件。如果您使用的是 TLS v1.0 或 v1.1,则可以使用替换文件中的 virtualhosts.cipherSuites 属性将自定义加密套件添加到 Apigee 入站流量网关部署。

例如,如需支持 TLS v.1.1:

virtualhosts:
- name: ENV_GROUP
  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"
  ...

例如,如需支持 TLS v.1.0:

virtualhosts:
- name: ENV_GROUP
  minTLSProtocolVersion: "1.0"
  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"
  ...

自定义入站流量访问日志

您可以使用 istiod.accessLogFileistiod.accessLogFormat 配置属性来自定义 Apigee 入站流量网关访问日志目标和格式。在以下示例中,输出将发送到 /dev/stdout,这是 istiod.accessLogFile 的默认值:

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

您可以通过分配 istiod.accessLogFile 和空值来停用 Apigee 入站流量网关访问日志记录。例如:

istiod:
  accessLogFile: ''

常见问题解答

Apigee 入站流量网关如何与其他命名空间中现有的 Anthos Service Mesh/Istio 安装配合工作?
只要 Apigee 安装在专用命名空间中,Apigee 入站流量网关就可以与集群中现有的 Anthos Service Mesh/Istio 安装一起运行。Apigee 入站流量网关不会将任何配置存储在 apiserver 中,因此不会发生任何冲突。
谁负责升级 Apigee 入站流量网关组件?
Apigee 负责 Apigee Ingress Gateway 组件 Apigee Ingress Gateway 的升级,这在定期混合升级和补丁发布期间发生。
如何在 Apigee 入站流量网关中公开端口 80?
Apigee 入站流量网关不支持端口 80。如果您要从 Anthos Service Mesh 迁移到 Apigee 入站流量网关,然后按照社区帖子中的说明启用端口 80,则无法使用 Apigee 入站流量网关。