首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在库伯奈特是否有关闭或杀死舱前的探测器?

在库伯奈特是否有关闭或杀死舱前的探测器?
EN

Stack Overflow用户
提问于 2019-03-20 21:20:19
回答 1查看 655关注 0票数 1

是否有方法使触发器关闭,这样我们就可以在关闭之前优雅地关闭所有连接,并且在该探针之后不要进行任何操作,并且使探针随时准备关闭。

这包括刷新日志,在将应用程序的任何状态保存到新的容器和更多的用例之前。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 21:56:47

你有两个选择:

  1. 容器(PID 1)在容器(和吊舱)被移除之前接收SIGTERM。你可以诱捕他并采取行动。
  2. 您可以使用preStop生命周期挂钩

重要的实现细节可以在这里找到:https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods

httpGet实例

代码语言:javascript
复制
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。你应该看到这样的东西:

代码语言:javascript
复制
$ 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" "-"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55270372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档