基于CCE场景
前提条件
- 已创建CCE集群,详情请参考创建CCE集群。
- 已创建未开启安全认证的ServiceComb引擎实例,详情请参考创建ServiceComb引擎。
- CCE与ServiceComb引擎处于相同VPC下。
- Sermant Injector版本要求1.0.11及以上,Sermant Agent镜像版本要求1.0.9及以上。
操作步骤
- 为CCE集群安装sermant-injector,请参考CCE部署场景接入指南。
- 为工作负载(deployment)打上标签并重启相关服务。
在下图所示位置为工作负载(deployment)打上标签sermant-injection: enabled。打上标签后,sermant-injector会在Pod重启时自动挂载Sermant Agent,并开启优雅上下线能力。
优雅下线能力依赖k8s的preStop机制,若您的编排文件已配置preStop,sermant-injector将无法自动配置,需要您在编排文件位置“spec > containers > lifecycle > preStop > exec > command”添加如下命令:
curl -XPOST http://127.0.0.1:16688/\$\$sermant\$\$/shutdown 2>/tmp/null;sleep 30;exit 0
添加该命令会在POD停止前通知实例进行下线。其中16688为下线通知端口,默认为该值,可通过环境变量“grace.rule.httpServerPort”进行指定。
您的容器需要支持curl命令,否则会导致优雅下线失效。