Jan*_*dec 6 testing kubernetes
为了测试高可用性模式是否发挥了应有的作用,我需要在测试期间终止实例,并且需要以它们无法报告断开连接或类似情况的方式终止它们。
出于实际原因,我需要在较小的环境中进行测试,该环境没有每个 Pod 的单独节点,因此我无法通过关闭机器来进行测试,而是需要终止进程。我可以使用 杀死它们docker kill,但这需要登录节点并找到容器的 docker id。是否有某种方法可以通过 实现类似的效果exec kill,但SIGKILL不允许发送到进程 ID 1。
我还看到使用了删除,但在某些情况下存在差异:删除时,容器会以干净状态重新创建,但仅重新启动它不会,并且我正在测试的部署实际上会查看启动期间的状态并且启动时出现问题,所以我需要测试它未被删除的情况。
我可以强行终止 Pod,而不给它们任何通过 kubernetes API/ 进行清理的机会吗kubectl?
小智 7
您可以尝试使用命令
kubectl delete pods <pod> --grace-period=0 --force
Run Code Online (Sandbox Code Playgroud)
关键--grace-period=<seconds>是 Kubernetes 等待 Pod 正常关闭的时间。如果为0,SIGKILL将立即发送到Pod中的任何进程。--force在 Kubernetes 1.5 及更高版本中,此类操作必须指定密钥。
更多信息可以查看官方文档。
| 归档时间: |
|
| 查看次数: |
9383 次 |
| 最近记录: |