Kubernetes配置Pod和容器(十一) 容器生命周期时间附加操作器

容器生命周期时间附加操作器

这个章节展示了如果给容器生命周期时间附加操作器。Kubernetes支持postStart和preStop事件。当容器启动以后Kubernetes立即发送一个postStart事件,并且在容器退出之前理解发送一个preStop事件。

定义postStart和preStop操作器

在本次试验,创建包含一个容器的pod。这个容器包含postStart和preStop事件操作器。

下面是这个Pod的配置文件:

apiVersion: v1
kind: Pod
metadata:
  name: lifecycle-demo
spec:
  containers:
  - name: lifecycle-demo-container
    image: nginx

    lifecycle:
      postStart:
        exec:
          command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
      preStop:
        exec:
          command: ["/usr/sbin/nginx","-s","quit"]

在这个配置文件里面,可以看到postStart命令写了一个message文件在容器的/usr/share目录里面。preStop命令优雅的退出nginx。如果容器因为失败而退出这是非常有用的。

创建一个pod:

kubectl create -f handler.yaml

验证pod中的容器是否运行:

kubectl get pod lifecycle-demo

用shell进入运行中的容器里面:

kubectl exec -it lifecycle-demo -- /bin/bash

在shell里面验证postStart操作器创建的message文件 :

root@lifecycle-demo:/# cat /usr/share/message

输出展示了postStart操作器写入的文本:

Hello from the postStart handler
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容