【问题标题】:How to delete replication controller and its pods in kubernetes?如何在 Kubernetes 中删除复制控制器及其 pod?
【发布时间】:2020-03-23 00:22:18
【问题描述】:

删除复制控制器及其 pod 的命令是什么?

我正在学习关于复数视觉的 k8s 课程。我正在尝试删除我刚刚使用复制控制器创建的 pod。以下是我的 YAML:

apiVersion: v1
kind: ReplicationController
metadata:
  name: hello-rc
spec:
  replicas: 2
  selector:
    app: hello-world
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - name: hello-ctr
        image: nigelpoulton/pluralsight-docker-ci:latest
        ports:
        - containerPort: 8080

如果我执行“kubectl get pods”,以下是它在我的 mac 上的外观:

我尝试了以下两个命令来删除在我的 Mac 上的 Minikube 集群中创建的 pod,但它们不起作用:

kubectl delete pods hello-world kubectl delete pods hello-rc

有人可以帮助我了解我缺少什么吗?

【问题讨论】:

    标签: kubernetes minikube


    【解决方案1】:

    您可以通过删除创建它们的复制控制器来删除 pod

    kubectl delete rc hello-rc
    

    另外,因为创建的 Pod 只是由 ReplicationController 管理,所以您可以只删除 ReplicationController 并让 Pod 继续运行

    kubectl delete rc hello-rc --cascade=false
    

    这意味着 Pod 不再被管理。你可以创建一个新的 ReplicationController 正确的标签选择器并再次管理它们

    此外,您可以使用副本集来代替复制控制器。 它们的行为方式相似,但表现力更强 吊舱选择器。例如,ReplicationController 无法匹配具有 2 个标签的 pod

    【讨论】:

    • 谢谢!我已经能够使用保持 pod 运行的第二个选项删除复制控制器。我随后也可以使用 kubectl delete --all pods --namespace=default 删除这些 pod
    【解决方案2】:

    下面的命令就足够了

    kubectl delete rc hello-rc
    

    还有一点是不推荐使用 ReplicationController 而首选 ReplicaSets

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      相关资源
      最近更新 更多