是否有方法使触发器关闭,这样我们就可以在关闭之前优雅地关闭所有连接,并且在该探针之后不要进行任何操作,并且使探针随时准备关闭。
这包括刷新日志,在将应用程序的任何状态保存到新的容器和更多的用例之前。
发布于 2019-03-20 21:56:47
你有两个选择:
重要的实现细节可以在这里找到:https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
httpGet实例
apiVersion: v1
kind: Pod
metadata:
name: prestop-pod
spec:
terminationGracePeriodSeconds: 5
containers:
- name: nginx
image: nginx
lifecycle:
preStop:
httpGet:
# only port is reqired
port: 80
path: "?preStop"
# scheme: HTTP
# host: ...
# httpHeaders:
# name: ...
# value: ...在此文件上执行kubectl apply -f之后,在另一个终端上执行kubectl delete pod prestop-pod时运行kubectl log -f prestop-pod。你应该看到这样的东西:
$ kubectl apply -f prestop.yaml
pod/prestop-pod created
$ kubectl logs -f prestop-pod
10.244.0.1 - - [21/Mar/2019:09:15:20 +0000] "GET /?preStop HTTP/1.1" 200 612 "-" "Go-http-client/1.1" "-"https://stackoverflow.com/questions/55270372
复制相似问题