kubernetes--优雅删除资源对象
来源:互联网 发布:中国科普数据图片 编辑:程序博客网 时间:2024/06/05 12:53
本文基于kubernetes 1.5.2版本编写
当用户请求删除含有pod的资源对象时(如RC、deployment等),K8S为了让应用程序优雅关闭(即让应用程序完成正在处理的请求后,再关闭软件),K8S提供两种信息通知:
1)、默认:K8S通知node执行docker stop命令,docker会先向容器中PID为1的进程发送系统信号SIGTERM,然后等待容器中的应用程序终止执行,如果等待时间达到设定的超时时间,或者默认超时时间(30s),会继续发送SIGKILL的系统信号强行kill掉进程。
2)、使用pod生命周期(利用PreStop回调函数),它执行在发送终止信号之前。
默认情况下,所有的删除操作的优雅退出时间都在30秒以内。kubectl delete命令支持--grace-period=的选项,以运行用户来修改默认值。0表示删除立即执行,并且立即从API中删除pod这样一个新的pod会在同时被创建。在节点上,被设置了立即结束的的pod,仍然会给一个很短的优雅退出时间段,才会开始被强制杀死。
pod生命周期例子
apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: lykops-grace labels: app:lykopsspec: replicas: 1 template: metadata: labels: app: lykops-grace spec: containers: - name: lykops-grace image: centos:nginx lifecycle: preStop: exec: # nginx -s quit gracefully terminate while SIGTERM triggers a quick exit command: ["/usr/local/nginx/sbin/nginx","-s","quit"] ports: - name: http containerPort: 80
阅读全文
1 0
- kubernetes--优雅删除资源对象
- kubernetes DaemonSet资源对象
- kubernetes资源对象--deployment
- kubernetes资源对象--Service
- kubernetes资源对象--Volume
- kubernetes资源对象--DaemonSet
- kubernetes资源对象--ingress
- kubernetes资源对象--ConfigMap
- kubernetes资源对象--limitranges
- kubernetes资源对象--ResourceQuotas
- kubernetes资源对象--Label
- kubernetes资源对象--PetSets/StatefulSet
- kubernetes资源对象--RC和RS
- kubernetes资源对象--pod和job
- kubernetes资源对象--secret和Service Account
- kubernetes创建资源对象yaml文件例子--pod
- kubernetes创建资源对象yaml文件例子--rc
- kubernetes资源对象--Horizontal Pod Autoscaling(HPA)
- 基于HttpClient的Get/Post的http请求简单封装
- android qq登录100044和微信支付死活不行
- C语言
- 计算算法复杂度
- css网页中导入特殊字体@font-face属性详解
- kubernetes--优雅删除资源对象
- [容易] kruskal 算法并查集实现
- JDBC 操作数据库
- jsp include 的flush属性
- Hadoop基础之MapReduce
- linux编程---线程---读写锁
- Maximum_Length_of_Pair_Chain
- Java 开发环境配置
- 使用JavaScript实现对象的深度克隆