【问题标题】:Kubernetes keeps spawning Pods after deletionKubernetes 删除后不断生成 Pod
【发布时间】:2017-09-12 20:12:33
【问题描述】:

以下是用于创建 Deployment 的文件:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kloud-php7
  namespace: kloud-hosting
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: kloud-php7
    spec:
      containers:
      - name: kloud-php7
        image: 192.168.1.1:5000/kloud-php7
      - name: kloud-nginx
        image: 192.168.1.1:5000/kloud-nginx
        ports:
        - containerPort: 80

Deployment 和 Pod 工作正常,但是在删除 Deployment 和生成的 ReplicaSet 后,我​​无法永久删除 spawn Pod。如果旧的 Pod 被删除,则会创建新的 Pod。

kubernetes 集群是用 kargo 创建的,包含 4 个节点,运行 CentOS 7.3,kubernetes 版本 1.5.6

知道如何解决这个问题吗?

【问题讨论】:

标签: kubernetes


【解决方案1】:

可能是需要删除的守护程序集。

例如:

$ kubectl get DaemonSets
NAME                            DESIRED   CURRENT   READY         UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
elasticsearch-operator-sysctl   5         5         5         5            5           <none>          6d

$ kubectl delete daemonsets elasticsearch-operator-sysctl

现在运行 get pods 不应列出 elasticsearch* pod。

【讨论】:

    【解决方案2】:

    这是因为复制集总是能够重新创建部署文件中提到的 Pod(假设说 3 ..kube 始终确保 3 个 Pod 启动并运行)

    所以这里我们需要先删除复制集以摆脱 pod。

    kubectl get rs
    

    并删除复制集。这将依次删除 pod

    【讨论】:

      【解决方案3】:

      这是按预期工作的。 Deployment 创建(并重新创建)一个 ReplicaSet,而 ReplicaSet 创建(并重新创建!)Pod。您需要删除 Deployment,而不是 Pod 或 ReplicaSet:

      kubectl delete deploy -n kloud-hosting kloud-php7
      

      【讨论】:

      • 我已经删除了部署。 kubectl get deployment -n kloud-hosting 什么也没显示。但 Pod 仍在运行
      • @user416983 尝试删除副本集。
      • 有趣。请执行kubectl get --all-namespaces pod,rc,rs,deploy
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 2022-12-11
      • 2020-05-16
      • 1970-01-01
      • 2020-02-13
      • 2019-12-27
      • 2019-03-16
      相关资源
      最近更新 更多