3

我无法在 Kubernetes 中删除这个 Stateful Set,即使--cascade=false这样它也不会删除它管理的 Pod。

kubectl get statefulsets

NAME                        DESIRED   CURRENT   AGE
assets-elasticsearch-data   0         1         31m

然后:

kubectl delete statefulsets assets-elasticsearch-data
^C

...挂了几分钟,直到我放弃,然后:

kubectl delete statefulsets assets-elasticsearch-data --cascade=false
statefulset "assets-elasticsearch-data" deleted
kubectl get statefulsets
NAME                        DESIRED   CURRENT   AGE
assets-elasticsearch-data   0         1         32m

我正在使用谷歌的 GKE。

4

5 回答 5

4

k8s 1.8 也有类似的问题。试了很多次,都超时了。最后我试过了,

kubectl delete statefulsets mariadb -n openstack --force

错误:等待“mariadb”同步超时

这似乎有效:

kubectl delete statefulsets mariadb -n openstack --force --grace-period=0 --cascade=false

警告:立即删除不会等待确认正在运行的资源已终止。该资源可能会无限期地继续在集群上运行。

状态集“mariadb”已删除

于 2017-11-14T15:26:39.823 回答
2

我可以使用 Kubernetes 重现该错误两次,1.7.3并且在第三次破坏集群并降级到 Kubernetes 后,删除或 Helm 部署(在我的案例中为Elasticsearch Helm 图表1.6.7)没有问题。Stateful Sets

于 2017-08-31T14:28:45.660 回答
1

--grace-period=0使用和再次尝试删除操作--force

于 2017-08-31T11:36:13.603 回答
0

就我而言,我使用的是旧版本的 kubectl。

我最近通过 yum 在 centos 上安装了一个,问题解决了,我可以删除停滞的 statefulset

vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=0
于 2019-10-02T13:36:18.350 回答
0

如果上述强制标志不起作用,我建议查看 yaml 元数据块并删除任何现有的终结器,并将 blockOwnerDelete 设置为 false,然后重试删除。

于 2019-05-13T14:43:49.253 回答