【发布时间】:2018-11-07 23:05:35
【问题描述】:
我遇到了即使删除pod也不会立即停止的问题。
为了正常终止应该修复什么?
清单文件。
apiVersion: apps/v1
kind: Deployment
metadata:
name: cmd-example
spec:
replicas: 1
selector:
matchLabels:
app: cmd-example
template:
metadata:
labels:
app: cmd-example
spec:
terminationGracePeriodSeconds: 30
containers:
- name: cmd-container
image: alpine:3.8
resources:
requests:
cpu: 100m
memory: 100Mi
command: ["/bin/sh"]
args: ["-c", "while true; do exec sleep 100;done"]
繁殖过程
- 创建部署。
$ kubectl apply -f deployments.yaml - 删除部署。
kubectl delete-f 020-deployments.yaml
kubectl get po -woutput 是。
cmd-example-5cccf79598-zpvmz 1/1 Running 0 2s
cmd-example-5cccf79598-zpvmz 1/1 Terminating 0 6s
cmd-example-5cccf79598-zpvmz 0/1 Terminating 0 37s
cmd-example-5cccf79598-zpvmz 0/1 Terminating 0 38s
cmd-example-5cccf79598-zpvmz 0/1 Terminating 0 38s
这应该会更快完成。
完成大约需要 30 秒。可能是由于终止时的 SIGKILLGracePeriodSeconds 30s。
为什么不立即使用 SIGTERM 清理 pod?
应该解决什么问题?
环境
我在以下环境中确认了。
- Docker for Mac:18.06.1-ce,Kubernetes :v1.10.3
- Docker for Windows:18.06.1-ce,Kubernetes :v1.10.3
- Google Kubernetes 引擎:1.11.2-gke.15
【问题讨论】:
-
那能回答你的问题吗?
-
我检查了这个文档,但找不到任何解决问题的方法。对不起。我英语不好,给我带来了误解。如果正常关机,我理解 Pod 是被 SIGTERM 终止的,会被清理而不等待终止GracePeriodSeconds,是我理解错了吗?
标签: kubernetes