【问题标题】:Cannot stop 10 containers after Kubernetes minikube tutorialKubernetes minikube 教程后无法停止 10 个容器
【发布时间】:2018-06-02 04:15:45
【问题描述】:

docker ps

CONTAINER ID        IMAGE                                                  COMMAND                  CREATED             STATUS              PORTS               NAMES
7523fd2c20c7        gcr.io/google_containers/k8s-dns-sidecar-amd64         "/sidecar --v=2 --..."   18 hours ago        Up 18 hours                             k8s_sidecar_kube-dns-86f6f55dd5-qwc6z_kube-system_c1333ffc-e4d6-11e7-bccf-0021ccbf0996_0
9bd438011406        gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64   "/dnsmasq-nanny -v..."   18 hours ago        Up 18 hours                             k8s_dnsmasq_kube-dns-86f6f55dd5-qwc6z_kube-system_c1333ffc-e4d6-11e7-bccf-0021ccbf0996_0
5c35e00a5a27        gcr.io/google_containers/k8s-dns-kube-dns-amd64        "/kube-dns --domai..."   18 hours ago        Up 18 hours                             k8s_kubedns_kube-dns-86f6f55dd5-qwc6z_kube-system_c1333ffc-e4d6-11e7-bccf-0021ccbf0996_0
77ef463642b7        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 18 hours ago        Up 18 hours                             k8s_POD_kube-dns-86f6f55dd5-qwc6z_kube-system_c1333ffc-e4d6-11e7-bccf-0021ccbf0996_0
39f618666205        gcr.io/google_containers/kubernetes-dashboard-amd64    "/dashboard --inse..."   18 hours ago        Up 18 hours                             k8s_kubernetes-dashboard_kubernetes-dashboard-vgpjl_kube-system_c1176a44-e4d6-11e7-bccf-0021ccbf0996_0
023b7b554a8c        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 18 hours ago        Up 18 hours                             k8s_POD_kubernetes-dashboard-vgpjl_kube-system_c1176a44-e4d6-11e7-bccf-0021ccbf0996_0
1c3bdb7bdeb1        gcr.io/google-containers/kube-addon-manager            "/opt/kube-addons.sh"    18 hours ago        Up 18 hours                             k8s_kube-addon-manager_kube-addon-manager-tpad_kube-system_7b19c3ba446df5355649563d32723e4f_0
8a00feefa754        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 18 hours ago        Up 18 hours                             k8s_POD_kube-addon-manager-tpad_kube-system_7b19c3ba446df5355649563d32723e4f_0
b657eab5f6f5        gcr.io/k8s-minikube/storage-provisioner                "/storage-provisioner"   18 hours ago        Up 18 hours                             k8s_storage-provisioner_storage-provisioner_kube-system_c0a8b187-e4d6-11e7-bccf-0021ccbf0996_0
67be5cc1dd0d        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 18 hours ago        Up 18 hours                             k8s_POD_storage-provisioner_kube-system_c0a8b187-e4d6-11e7-bccf-0021ccbf0996_0

我刚刚在https://github.com/kubernetes/minikube 学习了 Kubernetes minikube 教程,我无法停止或删除这些容器,它们总是会重新创建。

$ kubectl get deployment
No resource found.

$ minikube status
minikube: Running  
cluster: Running  
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

kubectl get pods --all-namespaces的输出

NAMESPACE     NAME                          READY     STATUS    RESTARTS   AGE
kube-system   kube-addon-manager-minikube   1/1       Running   5          19h
kube-system   kube-dns-86f6f55dd5-6kjsn     3/3       Running   15         19h
kube-system   kubernetes-dashboard-68vph    1/1       Running   5          19h
kube-system   storage-provisioner           1/1       Running   5          19h

更新:

我完全删除了所有名为“kube*”的软件包,删除了 docker,删除了 virtualbox,删除了 /var/lib/docker,重新安装了 docker。 容器又回来了!你到底是如何摆脱它们的?

【问题讨论】:

  • 您应该粘贴 docker ps 输出而不是创建屏幕截图。
  • 您好,您能提供kubectl get pods --all-namespaces吗?
  • 我添加了输出@SureshVishnoi

标签: docker kubernetes minikube


【解决方案1】:

您要删除哪些容器,为什么? docker ps 输出中打印的容器是 Kubernetes 容器。你基本上会通过删除这些容器来破坏 minikube。

一般来说,Kubernetes 会为您管理这些容器。 Kubernetes 将已删除的容器解释为失败并重新启动它。要删除容器,您必须删除 pod(或 ReplicaSet、ReplicationController 或 Deployment,具体取决于您部署的应用程序)。


如果这些容器确实出现在您的主机系统上,那么您可能会不小心在您的主机系统上安装了 Kubernetes(另附教程)。在这种情况下,您必须寻找一个名为 kubelet 的进程来创建这些容器。

例如,如果您使用 systemd:

systemctl status kublet   # see if its actually running
systemctl stop kubelet    # stop it
systemctl disable kubelet # make sure it doesn't start after next reboot

【讨论】:

  • 我只是在尝试教程,现在我已经完成了。假设我不想使用 kubernetes,只是不想回去使用 docker-compose。如何摆脱所有这些服务?
  • 我认为您混淆了 minikube 的概念。 Minikube 在为 Kubernetes 创建的 VM 中运行,并拥有自己的 Docker 守护进程。它不会在您的主机系统上安装 Kubernetes 组件。因此@Andreas Wederbrand 的回答将解决您的问题。
  • 但是当我执行docker ps 时,我在我的主机上。我现在已经完全删除了 docker 和 kubernetes 包,删除了 /var/lib/docker,重新安装了 docker。但是那些服务又回来了!有什么想法吗?
  • 在这种情况下,您可能还学习了另一个教程,并且不小心在您的主机上安装了 Kubernetes。我更新了那个案例的答案。
  • 你是对的,我正在阅读 2 个不同的教程,并且我还安装了 localkube,在我删除了该服务(并重新安装了 docker)之后,这些容器终于消失了。
【解决方案2】:

如果您不想运行 kubernetes,则不需要 minikube,您可以将其停止并删除。

minikube stop
minikube delete

或者,如果你不希望它运行,出于某种原因,只需删除eval $(minikube docker-env) 为你设置的环境变量 DOCKER_HOST。它将 docker 客户端指向 minikube 中的 docker 引擎,而不是您的本地机器。

unset DOCKER_HOST

或者,启动一个新终端。它不会设置环境变量。

【讨论】:

  • 但这不会停止并删除我所有的容器,这些容器总是会重新启动?我完全无法摆脱它们。
  • 它们只在 minikube 配置的虚拟机中运行。删除它也会删除所有容器。请注意,在您杀死 minikube 后,您仍然需要获得一个新终端或取消设置 DOCKER_HOST,否则您将收到一个错误,指出 docker 引擎没有响应。或类似的。
猜你喜欢
  • 2019-03-12
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 2019-02-16
  • 2018-01-31
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多