【问题标题】:pods still there when run kubectl delete pods运行 kubectl delete pods 时 pod 仍然存在
【发布时间】:2022-01-27 10:46:37
【问题描述】:

我想从我的 k8s 中删除 zk 和 kafka

$ kubectl get pods
NAME               READY   STATUS             RESTARTS   AGE
kafka1-mvzch       1/1     Running            1          25s
kafka2-m292k       0/1     CrashLoopBackOff   8          20m
zookeeper1-qhmnf   1/1     Running            0          20m
zookeeper2-t7r8w   1/1     Running            0          20m
$kubectl delete pod kafka1-mvzch kafka2-m292k zookeeper1-qhmnf zookeeper2-t7r8w
pod "kafka1-mvzch" deleted
pod "kafka1-m292k" deleted
pod "zookeeper1-qhmnf" deleted
pod "zookeeper2-t7r8w" deleted

但是当我运行 get pods 时,它仍然显示 pods。

我没有服务和部署

$ kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   7h1m
$ kubectl get deployment
No resources found in default namespace.

【问题讨论】:

标签: kubernetes


【解决方案1】:

您正在移除 pod,它们将被删除。 但是还有一些其他结构可以重新创建 pod 以替换(现已删除的)以前的 pod。

事实上,带有随机后缀的 pod 名称表明有另一个控制器在操作这些 pod。 查看链接教程时,您会注意到创建了 ReplicationController。这样可以确保 pod。

如果要删除它,请删除复制控制器;豆荚也将被删除。

【讨论】:

  • 谢谢,我不知道deployment和ReplicationController也是两种控制器
【解决方案2】:

您可以使用kubectl get pod -ojsonpath='{.metadata.ownerReferences}' 来识别 pod 的所有者对象。所有者可能是 Deployment、StatefulSet 等。

查看您提到的 medium.com 指南,我看到他们建议创建 ReplicationControllers。 你可以通过运行kubectl delete replicationcontroller --all来清理你的命名空间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多