ACK集群支持应用触发器的功能,在创建触发器后,您可以在检测到特定事件(如资源状态变化或性能指标达到阈值)时,自动调用触发器重启应用,实现智能化和高效的管理操作。
触发器介绍
ACK提供了标准使用Kubernetes API的方式,使得集群中的应用管理和运维更加简便,同时也提供通过调用OpenAPI的方式重启应用。通过创建触发器,您可以通过调用触发器的OpenAPI接口来自动化地重新启动指定的应用,从而提高运维效率。
示例场景
场景 | 触发动作 | 描述 |
配置更新触发重启 | 更新配置并重启相关Pod | 监测ConfigMap变化,当配置发生变化时,可以通过调用触发器的方式来重启应用。 |
外部触发信号触发部署 | 自动部署新版本应用 | 当新镜像推送到镜像仓库时,通过Webhook自动触发应用部署,确保代码更新后应用自动更新。更多信息,请参见使用触发器构建容器DevOps。 |
前提条件
已创建ACK集群,参见创建ACK托管集群。
已创建一个应用,用于创建应用触发器并测试触发器的作用。本示例创建了一个Nginx应用。具体操作,请参见创建无状态工作负载Deployment。
操作步骤
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在无状态页面,找到Nginx应用,单击操作列下的详情。
在Nginx应用详情页面中,单击触发器页签,然后单击创建触发器。
在弹出的创建触发器对话框,选择触发器行为为重新部署,然后单击确定。
说明目前触发器行为仅支持重新部署功能。
触发器创建完毕后,Nginx应用详情页面的触发器栏中将展示一条触发器链接。
复制该触发器链接,在浏览器中访问。
此时页面会返回一条消息,包含状态码、请求ID等信息。
返回Nginx应用详情页面,容器组页签,观察出现的一个新Pod。
等待新Pod重新部署完毕后,Nginx应用将会删除旧Pod,只保留新Pod。
使用触发器
您也可通过三方集成系统进行触发,使用GET或者POST都可以进行触发,例如使用curl命令触发。
调用重新部署触发器,如下所示:
curl https://cs.console.aliyun.com/hook/trigger?token=xxxxxxx