Pod Hook
示例1 环境准备
快速开发平台以下示例中,定义了一个Nginx Pod,其中设置了 PostStart 钩子函数,即在容器创建成功后,写入一句话到 /usr/share/message 文件中。apiVersion: v1 kind: Pod metadata: name: hook-demo1 spec: containers: - name: hook-demo1 image: nginx lifecycle: postStart: exec: command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
示例2 优雅删除资源对象
apiVersion: v1 kind: Pod metadata: name: hook-demo2 spec: containers: - name: hook-demo2 image: nginx lifecycle: preStop: exec: command: ["/usr/sbin/nginx","-s","quit"] --- apiVersion: v1 kind: Pod metadata: name: hook-demo2 labels: app: hook spec: containers: - name: hook-demo2 image: nginx ports: - name: webport containerPort: 80 volumeMounts: - name: message mountPath: /usr/share/ lifecycle: preStop: exec: command: ['/bin/sh', '-c', 'echo Hello from the preStop Handler > /usr/share/mes sage'] volumes: name: message hostPath: path: /tmp另外 Hook 调用的日志没有暴露个给 Pod 的 event,所以只能通过 describe 命令来获取,如果有错误 将可以看到 FailedPostStartHook 或 FailedPreStopHook 这样的 event。