kubernetes 清理 pod、服务、部署等

aru*_*unp 7 kubernetes kubernetes-pod

为了设置 kubernetes,我从创建命名空间、部署、服务开始。要清理资源,我是否需要遵循任何顺序,例如先删除服务,然后是 pod,然后是部署,最后是命名空间?如何以正确的方式清理资源?因为我删除了 pods 和 service,但是我可以看到 pods,services 再次运行。它再次部署资源,所以这个问题出现在这里寻求专家的答案。

aru*_*unp 11

我按以下顺序删除了资源,它对我有用。

获取所有资源。

kubectl get pods,services,deployments,jobs,daemonset
Run Code Online (Sandbox Code Playgroud)

删除资源如下:

kubectl delete deployments <deployment>
kubectl delete services <services>
kubectl delete pods <pods>
kubectl delete daemonset <daemonset>
Run Code Online (Sandbox Code Playgroud)


Ija*_*han 11

以防万一您在默认命名空间中运行它们并且它们中有很多,并且您不想花时间一一删除它们:

kubectl delete deployments --all
kubectl delete services --all
kubectl delete pods --all
kubectl delete daemonset --all
Run Code Online (Sandbox Code Playgroud)


Her*_*arn 6

我采用不同的方法来清理为应用程序分配的资源。

$ kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-75b7bfdb6b-k76tl   1/1     Running   0          9d


$ kubectl get deployments
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           9d
Run Code Online (Sandbox Code Playgroud)

因此,现在不是为应用程序单独删除对象/资源,而是使用delete all删除与应用程序关联的所有资源

这样Kubernetes 会清理资源,而不是我们决定清理的顺序

$ kubectl delete all -l app=nginx
pod "nginx-75b7bfdb6b-k76tl" deleted
service "nginx-service" deleted
deployment.apps "nginx" deleted
replicaset.apps "nginx-75b7bfdb6b" deleted
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


Ami*_*pta 5

如果只是删除命名空间,它会删除其中的所有内容,您无需手动清理其中的所有内容。我在网上搜索了“Kubernetes 删除命名空间”,并在官方 Kubernetes 文档中找到了这个:https ://kubernetes.io/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace

关于您关于 pod 回归的问题:当您创建部署时,它会创建 pod。当您删除部署时,它会自动删除它创建的 pod。如果您手动删除部署自动创建的 pod,它会将它们带回来,因为部署中指定的所需副本数量仍然是正数。

如果您直接创建 pod(而不是通过部署),您可以直接删除它们,它们将保持删除状态。

Pod(直接创建的)、部署和服务都可以相互独立地删除,顺序无关紧要。如果要删除它们而不是命名空间,请按任意顺序删除它们。如果您还想删除命名空间,只需删除命名空间,它就会自动为您删除命名空间中的所有内容,您也不必费心单独删除这些内容。