下文基于kubernetes 1.5.2版本编写
lifecycle
概念
创建资源对象时,可以使用lifecycle来管理容器在运行前和关闭前的一些动作。
lifecycle有两种回调函数:
PostStart:容器创建成功后,运行前的任务,用于资源部署、环境准备等。
PreStop:在容器被终止前的任务,用于优雅关闭应用程序、通知其他系统等等。
例1、部署代码
以下示例中,定义了一个Pod,包含一个JAVA的web应用容器,其中设置了PostStart和PreStop回调函数。即在容器创建成功后,复制/sample.war到/app文件夹中。而在容器终止之前,发送HTTP请求到http://monitor.com:8080/waring,即向监控系统发送警告。
具体示例如下:
......
containers:
- image: sample:v2
name: war
lifecycle:
postStart:
exec:
command:
- “cp”
- “/sample.war”
- “/app”
prestop:
httpGet: