从 Apigee Hybrid 1.8 版开始,Apigee Hybrid 使用 Apigee 入站流量网关为 Hybrid 提供入站流量网关。
配置 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_MIN 和 REPLICAS_MAX:安装中 Apigee 入站流量网关的最小和最大副本数。请参阅配置属性参考文档中的
ingressGateways[].replicaCountMin
和ingressGateways[].replicaCountMax
。 - CPU_COUNT_REQ 和 MEMORY_REQ:安装中每个 Apigee 入站流量网关副本的 CPU 和内存请求。
请参阅配置属性参考文档中的
ingressGateways[].resources.requests.cpu
和ingressGateways[].resources.requests.memory
。 - CPU_COUNT_LIMIT 和 MEMORY_LIMIT:安装中每个 Apigee 入站流量网关副本的 CPU 和内存上限。
请参阅配置属性参考文档中的
ingressGateways[].resources.limits.cpu
和ingressGateways[].resources.limits.memory
。 - SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE(可选):。
这是一个键值对,用于为默认入站流量服务提供注解。云平台会使用注解来帮助您配置 Hybrid 安装,例如将 loadbalancer 类型设置为内部或外部。例如:
ingressGateways: svcAnnotations: networking.gke.io/load-balancer-type: "Internal"
注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
请参阅配置属性参考文档中的ingressGateways[].svcAnnotations
。 - SVC_LOAD_BALANCER_IP(可选)。在支持指定负载均衡器 IP 地址的平台上,系统会使用此 IP 地址创建负载均衡器。在不允许指定负载均衡器 IP 地址的平台上,系统会忽略此属性。
请参阅配置属性参考文档中的
ingressGateways[].svcLoadBalancerIP
。
应用 Apigee 入站流量网关配置
使用 apigeectl
更改组织范围。
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org
管理任务
Apigee 入站流量网关的一些常见管理任务包括:
调节 Apigee 入站流量网关:
更新替换文件中的以下属性。
ingressGateways[].replicaCountMax
ingressGateways[].replicaCountMin
如需了解详情,请参阅配置属性参考文档中的 ingressGateways
。
使用 apigeectl apply --org
应用更改。
更新资源分配
更新替换文件中的以下属性。
ingressGateways[].resources.limits.cpu
ingressGateways[].resources.limits.memory
ingressGateways[].resources.requests.cpu
ingressGateways[].resources.requests.memory
如需了解详情,请参阅配置属性参考文档中的 ingressGateways
。
使用 apigeectl apply --org
应用更改。
更新 Apigee 入站流量网关服务
更新替换文件中的以下属性。
ingressGateways[].svcAnnotations
ingressGateways[].svcLoadBalancerIP
如需了解详情,请参阅配置属性参考文档中的 ingressGateways
。
使用 apigeectl apply --org
应用更改。
停用默认 Apigee 入站流量网关服务的负载均衡器:
如果您为入站流量网关部署创建自定义 Kubernetes 服务,则可以在默认 Kubernetes 服务上停用负载均衡器的创建功能。在替换文件中将 ingressGateways[].svcType
属性更新为 ClusterIP
。例如:
ingressGateways: - name: my-ingress-gateway replicaCountMin: 2 replicaCountMax: 10 svcType: ClusterIP
使用 apigeectl apply --org
应用更改。
配置 TLS 和 mTLS
启用非 SNI 客户端
安装其他 Apigee 入站流量网关
在 overrides.yaml
文件中,您可以添加多个入站流量网关。ingressGateways
配置属性是一个数组。如需了解详情,请参阅配置属性参考文档中的 ingressGateways。
例如:
ingressGateways: - name: fruit replicaCountMin: 2 replicaCountMax: 10 - name: meat replicaCountMin: 2 replicaCountMax: 10
使用 apigeectl apply --org
应用更改。
将虚拟主机映射到 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_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" ...
例如,如需支持 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.accessLogFile
和 istiod.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 负责,并在常规 Hybrid 升级和补丁发布期间进行。
- 如何在 Apigee 入站流量网关中公开端口 80?
- Apigee 入站流量网关不支持端口 80。如果您要从 Anthos Service Mesh 迁移到 Apigee 入站流量网关,然后按照社区帖子中的说明启用端口 80,则无法使用 Apigee 入站流量网关。