您可以自动销毁 kubernetes pod 部署吗?
Can you auto destroy a kubernetes pod deployment?
我可以使用 kubectl cli 删除部署,但是有没有办法让我的部署在完成后自动销毁?对于我的情况,我们正在 AWS EKS 上的 Docker 容器中启动一个长 运行 的过程。当我查看状态时,它是 'running',然后一段时间后状态是 'completed'。那么有什么方法可以让 kubernetes pod 在完成后自动销毁吗?
kubectl run some_deployment_name --image=path_to_image
kubectl get pods
//the above command returns...
some_deployment_name1212-75bfdbb99b-vt622 0/1 Running 2 23s
//and then some time later...
some_deployment_name1212-75bfdbb99b-vt622 0/1 Completed 2 15m
完成后,我希望将其销毁,而无需调用其他命令。
所以问题是关于 运行ning 作业而不是 Kubernetes Deployments abstraction that creates a ReplicaSet but more like Kubernetes Jobs
中的部署
当您指定 --restart=OnFailure
选项时,使用 kubectl run
创建 Job
。这些作业不会被集群清除,除非您使用 kubectl delete <pod-name>
手动删除它们。更多信息 here。
如果您使用的是 Kubernetes 1.12 或更高版本,则引入了新的作业规范:ttlSecondsAfterFinished
。你也可以用它来清理你的工作。另一个更耗时的选择是编写您自己的 Kubernetes 控制器来清理常规作业。
如果您同时指定 --restart=OnFailure
和 `--schedule="" 选项,则会创建 CronJob
。这些 pods 会自动删除,因为它们会定期 运行。
有关 kubectl run
here 的更多信息。
我可以使用 kubectl cli 删除部署,但是有没有办法让我的部署在完成后自动销毁?对于我的情况,我们正在 AWS EKS 上的 Docker 容器中启动一个长 运行 的过程。当我查看状态时,它是 'running',然后一段时间后状态是 'completed'。那么有什么方法可以让 kubernetes pod 在完成后自动销毁吗?
kubectl run some_deployment_name --image=path_to_image
kubectl get pods
//the above command returns...
some_deployment_name1212-75bfdbb99b-vt622 0/1 Running 2 23s
//and then some time later...
some_deployment_name1212-75bfdbb99b-vt622 0/1 Completed 2 15m
完成后,我希望将其销毁,而无需调用其他命令。
所以问题是关于 运行ning 作业而不是 Kubernetes Deployments abstraction that creates a ReplicaSet but more like Kubernetes Jobs
中的部署当您指定 --restart=OnFailure
选项时,使用 kubectl run
创建 Job
。这些作业不会被集群清除,除非您使用 kubectl delete <pod-name>
手动删除它们。更多信息 here。
如果您使用的是 Kubernetes 1.12 或更高版本,则引入了新的作业规范:ttlSecondsAfterFinished
。你也可以用它来清理你的工作。另一个更耗时的选择是编写您自己的 Kubernetes 控制器来清理常规作业。
如果您同时指定 --restart=OnFailure
和 `--schedule="" 选项,则会创建 CronJob
。这些 pods 会自动删除,因为它们会定期 运行。
有关 kubectl run
here 的更多信息。