控制台
>容器云服务
>无状态工作负载
,选择无状态点击名称。
详情信息
监控
容器组
服务
存储
伸缩
主机别名
调度策略
事件
操作记录
更新升级
资源配置
生命周期
- 容器生命周期
在容器的生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。
目前提供的生命周期操作如下:
启动命令: 容器将会以该启动命令启动.
启动后处理: 容器启动后触发。
停止前处理: 容器停止前触发。设置停止前处理,确保升级或实例删除时可提前将实例中运行的业务排水。
- 容器如何执行命令和参数
Docker 的镜像拥有存储镜像信息的相关元数据,如果不设置生命周期命令和参数,容器运行时将运行镜像制作时提供的默认的命令和参数,Docker 将这两个字段定义为 “ Entrypoint ” 和 “ CMD “。关于这两个参数的详细信息,请查看 docker 的 CMD 或者 Entrypoint。
健康检查
- 说明
健康检查是指容器运行过程中,根据用户需要,定时检查容器健康状况。若不配置健康检查,如果服务出现业务异常,pod将无法感知,也不会自动重启去恢复业务。最终导致pod状态正常,但pod中的业务异常的情况。
平台提供了两种健康检查的方式:
工作负载存活探针:该检查方式用于检测容器是否存活,类似于我们执行 ps 命令检查进程是否存在。如果容器的存活检查失败,集群会对该容器执行重启操作;若容器的存活检查成功则不执行任何操作。
工作负载业务探针:该检查方式用于检测容器是否准备好开始处理用户请求。一些程序的启动时间可能很长,比如要加载磁盘数据或者要依赖外部的某个模块启动完成才能提供服务。这时候程序进程在,但是并不能对外提供服务。这种场景下该检查方式就非常有用。如果容器的就绪检查失败,集群会屏蔽请求访问该容器;若检查成功,则会开放对该容器的访问。
健康检查方式
HTTP 请求检查**
HTTP 请求方式针对的是提供 HTTP/HTTPS 服务的容器,集群周期性地对该容器发起 HTTP/HTTPS GET 请求,如果 HTTP/HTTPS response 返回码属于 200~399 范围,则证明探测成功,否则探测失败。使用 HTTP 请求探测必须指定容器监听的端口和 HTTP/HTTPS 的请求路径。
例如:提供 HTTP 服务的容器,端口为 80,HTTP 检查路径为 /health-check,主机地址为containerIP,那么集群会周期性地对容器发起如下请求:GET http://containerIP:80/health-check。TCP 端口检查
对于提供 TCP 通信服务的容器,集群周期性地对该容器建立 TCP 连接,如果连接成功,则证明探测成功,否则探测失败。选择 TCP 端口探测方式,必须指定容器监听的端口。比如我们有一个 nginx 容器,它的服务端口是 80,我们对该容器配置了 TCP 端口探测,指定探测端口为 80,那么集群会周期性地对该容器的 80 端口发起 TCP 连接,如果连接成功则证明检查成功,否则检查失败。
执行命令检查
命令检查是一种强大的检查方式,该方式要求用户指定一个容器内的可执行命令,集群会周期性地在容器内执行该命令,如果命令的返回结果是 0 则检查成功,否则检查失败。
对于上面提到的 TCP 端口检查和 HTTP 请求检查,都可以通过执行命令检查的方式来替代:
对于 TCP 端口探测,我们可以写一个程序来对容器的端口进行 connect,如果 connect 成功,脚本返回 0,否则返回 -1。
对于 HTTP 请求探测,我们可以写一个脚本来对容器进行 wget。
wget http://127.0.0.1:80/health-check
并检查 response 的返回码,如果返回码在 200~399 的范围,脚本返回 0,否则返回 -1。
环境变量
卷挂载
最后编辑:admin 更新时间:2025-04-29 18:46