Docker 无法删除Kubernetes中的所有吊舱-清除/重新启动Kubernetes
我正在尝试删除/删除我的环境中运行的所有播客。当我发布 docker ps 我得到下面的输出。这是一个示例屏幕截图。正如你所看到的,它们都是K8。我想删除所有的pod/删除它们 我尝试了以下所有方法,但它们不断出现Docker 无法删除Kubernetes中的所有吊舱-清除/重新启动Kubernetes,docker,kubernetes,google-kubernetes-engine,kubernetes-helm,kubernetes-pod,Docker,Kubernetes,Google Kubernetes Engine,Kubernetes Helm,Kubernetes Pod,我正在尝试删除/删除我的环境中运行的所有播客。当我发布 docker ps 我得到下面的输出。这是一个示例屏幕截图。正如你所看到的,它们都是K8。我想删除所有的pod/删除它们 我尝试了以下所有方法,但它们不断出现 sudo kubectl delete --all pods --namespace=default/kube-public #returns "no resources found" for both default and kube-public namespaces sudo
sudo kubectl delete --all pods --namespace=default/kube-public #returns "no resources found" for both default and kube-public namespaces
sudo kubectl delete --all pods --namespace=kube-system # shows "pod xxx deleted"
除了上面提到的,我还尝试使用docker-stop
和docker-rm
与容器ID一起使用,但它们要么重新启动。我想把它们全部清除。我想从头开始
我已经多次注销和重新登录,但仍然可以看到这些项目
你能帮我删除所有的POD吗?我希望“docker ps”的输出不会有任何与kubernetes相关的项目,如上图所示?你不应该从kube系统名称空间中删除POD。所有核心kubernetes吊舱都在该名称空间中运行。如果你弄乱了这些吊舱,那么你的集群可能无法工作 而是删除运行应用程序工作负载的名称空间。这将清除相应命名空间中的所有资源
sudo kubectl get deployments#返回未找到任何资源
不是Kubernetes中唯一可以管理吊舱的控制器。有很多:,等等(查看详细信息)
简言之,控制器负责确保其管理的所有吊舱都在运行,并在必要时创建它们-当您删除所有吊舱时,相关控制器将意识到它们丢失了,只需重新创建它们以确保其符合其规范
如果要有效删除所有POD,应删除所有相关控制器(或更新它们以将其副本设置为0),例如:
# do NOT run this in the kube-system namespace, it may corrupt your cluster
# You can also specify --namespace xxx to delete in a specific namespace
kubectl delete deployment --all # configures ReplicaSets, deleting Deployments should delete ReplicaSet as well as associated Pods
kubectl delete statefulset --all
kubectl delete daemonset --all
kubectl delete job --all
kubectl delete cronjob --all
kubectl delete replicationcontroller --all # their should not be any ReplicationController as Deployment should be used
# Then delete what you find
编辑:正如answer所提到的,您还可以使用kubectl delete namespace mynamespace
(当然不要删除kube system
),删除整个名称空间,但也可以删除名称空间中的其他组件,如服务
重要提示:
- 在删除
名称空间中与集群本身的内部管道相关的pod或对象时,还应小心kube系统
- 您不应使用
命令直接删除Kubernetes组件的底层容器,这可能会产生意外的效果,请改用docker
李>kubectl
# do NOT run this in the kube-system namespace, it may corrupt your cluster
# You can also specify --namespace xxx to delete in a specific namespace
kubectl delete deployment --all # configures ReplicaSets, deleting Deployments should delete ReplicaSet as well as associated Pods
kubectl delete statefulset --all
kubectl delete daemonset --all
kubectl delete job --all
kubectl delete cronjob --all
kubectl delete replicationcontroller --all # their should not be any ReplicationController as Deployment should be used
# Then delete what you find