如何在 kubernetes 中删除复制控制器及其 pods?

How to delete replication controller and its pods in kubernetes?

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

我正在学习一门关于 pluralsight 的 k8s 课程。我正在尝试删除我刚刚使用复制控制器创建的 pods。以下是我的 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 集群中创建的 pods,但它们不起作用:

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

有人可以帮助我了解我所缺少的吗?

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

kubectl delete rc hello-rc

另外,因为创建的pods只是由ReplicationController管理,所以你可以只删除ReplicationController而留下pods运行

kubectl delete rc hello-rc --cascade=false

这意味着 pods 不再受管理。您可以使用 正确的标签选择器并再次管理它们

此外,您可以使用副本集来代替复制控制器。 他们以相似的方式行事,但他们有更多的表现力 吊舱选择器。例如,一个 ReplicationController 无法将 pods 与 2 个标签

匹配

下面的命令就够了

kubectl delete rc hello-rc

还有一件事是 ReplicationController 已被弃用,而 ReplicaSets 是首选