ASM网关支持在网关YAML中配置副本数以及HPA相关参数,通常能够满足大部分场景。然而对于某些极端情况,默认提供的副本数配置和HPA并不能满足要求,比如当业务有十分规律的波峰波谷时,更适合使用CronHPA来调节副本数。为了满足此类需求,ASM支持自定义网关的扩缩容策略。
使用说明
创建ASM网关后,控制面会自动在数据面集群的istio-system命名空间下创建一个名为istio-${ASM网关名称}的Deployment。该Deployment由ASM管理,任何对其参数的修改都将无效,ASM会自动重新同步并覆盖自定义配置,以确保网关的正常运行。
为了实现自定义网关的扩缩容能力,1.19版本及以上的ASM支持了配置asm.alibabacloud.com/replicas-managed-by-asm: false
的注解。在网关定义中添加此注解后,ASM控制面会在每次同步网关Deployment时跳过副本数的同步。这样,您就可以自行修改网关Deployment的副本数,并且更改不会被控制面覆盖。
网关示例如下:
apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:
name: "ingressgateway"
namespace: "istio-system"
annotations:
asm.alibabacloud.com/replicas-managed-by-asm: "false" # asm放弃同步网关deployment的副本数
spec:
......
ports:
- name: http
port: 80
targetPort: 80
......
相关操作
添加annotation之后,您可以手动管理网关副本数,或者使用容器水平伸缩(HPA)、容器定时水平伸缩(CronHPA)等资源自动管理网关的弹性伸缩能力。
文档内容是否对您有帮助?