更新时间:2022-05-07 GMT+08:00
分享

优雅删除

什么是优雅删除

当用户请求删除含有pod的资源对象时(如RC、Deployment等),如果该资源对象有正在处理的请求,那么等这些正在处理的请求完成以后再删除资源对象,就称为优雅删除。

怎么使用优雅删除

其实怎么使用优雅删除,kubernetes已经在基层做好建设。Kubectl delete:根据resource名或label删除resource。例如:

kubectl delete po rc-nginx-btv4j
kubectl delete po -lapp=nginx-2

当Kubernetes通知node执行docker stop命令,docker会先向容器中PID为1的进程发送系统信号SIGTERM,然后等待容器中的应用程序终止执行,如果等待时间达到设定的超时时间(Pod中的terminationGracePeriodSeconds参数值,默认30s),会继续发送SIGKILL的系统信号强行kill掉进程。

您可以使用--grace-period=<seconds>来覆盖的默认值。

kubectl delete po rc-nginx-btv4j --grace-period=60

要强制删除资源,需指定--force flag,且设置周期为0。如果执行强制删除Pod,则调度程序会在节点释放这些Pod之前将新的Pod放在这些节点上,并使之前Pod立即被逐出。

如下示例表示将强制立马删除pod:

kubectl delete po rc-nginx-btv4j --grace-period=0 --force

执行delete命令时不会检查资源版本,如果在执行delete操作时有人进行了更新操作,那么更新操作将连同资源一起被删除。

分享:

    相关文档

    相关产品

关闭导读