赞
踩
1 ) pod 几种常用状态
2 )pod内部的容器相应的状态
kubectl describe pod <pod 名称>
在Pod配置文件中,定义 postStart 和 preStop 处理函数
创建一个包含一个容器的 Pod,该容器为 postStart 和 preStop 事件提供对应的处理函数
创建一个 pod, 新建一个 lifecycle-demo.yaml 文件
apiVersion: v1 kind: Pod metadata: name: lifecycle-demo labels: name: lifecycle-demo spec: containers: - name: lifecycle-demo-container image: nginx lifecycle: postStart: exec: command: ["sh", "-c", "echo Hello from the postStart handler > /usr/share/message"] preStop: exec: command: ["sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"] resources: limits: memory: "128Mi" cpu: "500m" ports: - containerPort: 80
$ kubectl create -f lifecycle-demo.yaml
pod/lifecycle-demo created
$ kubectl get po
NAME READY STATUS RESTARTS AGE
lifecycle-demo 0/1 ContainerCreating 0 8
$ kubectl exec -it lifecycle-demo -- sh
进入pod
$ cat /usr/share/message
查看文件是否被写入内容
Hello from the postStart handler
在上述配置文件中,可以看到 postStart 命令在容器的 /usr/share 目录下写入文件 message
命令 preStop 负责优雅地终止 nginx 服务
当因为失效而导致容器终止时,这一处理方式很有用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。