更新时间:2024-06-04 GMT+08:00

配置生命周期

CAE提供了回调函数,在容器生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。

操作步骤

  1. 登录CAE控制台
  2. 在左侧导航栏中选择“组件配置”。
  3. 在“组件配置”页面上方的下拉框中选择需要操作的组件。

    图1 选择组件

  4. 单击“生命周期管理”模块中的“编辑”按钮。
  5. 在右侧弹框中可选择配置“启动后处理”和“停止前处理”,两者可同时开启。

    • 启动后处理:容器启动后触发,详情请参见表1
    • 停止前处理:容器停止前触发。设置停止前处理,确保升级或实例删除时可提前执行必要的清理任务。详细请参见表2

      如果“启动后处理”配置为while死循环,同时还配置了健康检查,可能会导致容器健康检查不通过,进而导致组件部署/升级失败。

    表1 启动后处理-参数说明

    参数

    配置项参数

    执行命令

    在容器中执行指定的命令,配置为需要执行的命令。命令的格式为Command Args[1] Args[2]…(Command为系统命令或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序),如果需要执行多条命令,建议采用将命令写入脚本执行的方式。不支持后台执行和异步执行的命令。

    例如,您需要利用启动后处理写文件,则请在命令行分别输入以下命令:
    /bin/bash
    -c
    echo 'Hello, postStart' > /lifecycle.txt
    图2 配置启动后处理命令
    表2 停止前处理-参数说明

    参数

    配置项参数

    执行命令

    在容器中执行指定的命令,配置为需要执行的命令。命令的格式为Command Args[1] Args[2]…(Command为系统命令或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序),如果需要执行多条命令,建议采用将命令写入脚本执行的方式。

    例如,您需要利用停止前处理优雅关闭Nginx,则请在命令行分别输入以下命令:

    /bin/bash
    -c
    nginx -s quit;while killall -0 nginx;do sleep 1;done
    图3 配置停止前处理命令

  6. 单击“确定”,生命周期配置完成。
  7. 使配置生效。

    • 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。
    • 如未完成组件部署,单击页面上方“配置并部署组件”,在弹框中单击“确定”,待组件部署执行完成后,配置生效。