无法删除Kubernetes中的有状态集

时间:2017-08-30 16:14:03

标签: kubernetes google-kubernetes-engine kubernetes-helm

即使使用--cascade=false,我也无法在Kubernetes中删除此有状态集,因此它不会删除由其管理的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。

5 个答案:

答案 0 :(得分:4)

与k8s 1.8有类似的问题。多次尝试并且超时。 最后我试过了,

kubectl delete statefulsets mariadb -n openstack --force

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

这似乎有效:

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

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

statefulset“mariadb”已删除

答案 1 :(得分:2)

我可以使用Kubernetes 1.7.3重复该错误两次,并且在第三次销毁群集并降级到Kubernetes 1.6.7之后,删除Stateful Sets或Helm部署没有问题(在我的情况下Elasticsearch Helm chart

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

.blurred {
  width: 50vmin;
  height: 50vmin;
  margin: 0 auto;
  border-radius: 50%;
  background: black;

  filter: blur(5vh);

  transform: translateY(-80%);
  transition: transform 1s;
}

.blurred:hover {
  transform: translateY(-20%);
}