Minikube、Kubernetes、Docker Compose、Docker Swarm 等的区别

sta*_*nny 10 raspberry-pi docker kubernetes docker-swarm minikube

我是集群容器管理的新手,这个问题是这里所有新手的基础。

我阅读了一些文档,但我的理解仍然不太清楚,所以任何线索..有助于理解?

  1. 在某处提到,Minikube 用于在本地运行 Kubernetes。那么如果我们要在我的四节点树莓派中维护集群管理,那么 Minikube 是不是不二之选呢?
  2. Minikube 是否只支持单节点系统?
  3. Docker Compose 是一组指令和一个 YAML 文件,用于配置和启动多个 Docker 容器。我们可以用它来启动不同主机的容器吗?然后对于需要调用第二台主机的容器的简单编排,我不需要任何集群管理,对吗?
  4. Docker Swarm 和 Kubernetes 之间的联系是什么?两者都是独立的集群管理。在树莓派上使用 Kubernetes 有效率吗?有什么问题,因为我被告知单节点中的 Kubernetes 占用了完整的内存和 CPU 使用率?这是真的吗?
  5. 树莓派还有其他集群管理吗?

我认为这 4-5 组会更好地帮助我。

Ror*_*une 14

假设您的目标是在许多不同的基于 Raspberry Pi 的节点上运行一组容器:

  • Minikube 不太合适。这会在 Windows、MacOS 或 Linux 上启动单个虚拟机,并将 Kubernetes 集群安装到其中。开发人员通常使用它在笔记本电脑或台式机上快速启动集群,以进行开发和测试。

  • Docker Compose 是一个用于管理相关容器集的系统。因此,例如,如果您想要一起管理一个 Web 服务器和数据库,您可以将它们放在一个 Docker Compose 文件中。

  • Docker Swarm 是一个跨多个主机管理容器集的系统。它本质上是 Kubernetes 的替代品。它的功能比 Kubernetes 少,但设置起来要简单得多。

如果你想要一个非常简单的多节点容器集群,我会说 Docker swarm 是一个合理的选择。如果您明确想试验 Kubernetes,我会说 kubeadm 是一个不错的选择。Kubernetes 通常比 Docker Swarm 具有更高的资源要求,因此它可能不太适合它,尽管我知道人们已经在 Raspberry Pi 上成功运行了 Kubernetes 集群。


yam*_*enk 7

多克尔撰写 的实用程序以向上启动多个Docker容器单个使用单个主机docker-compose up。这使得一次启动多个容器更容易,而不是执行多个docker run命令。

Docker swarm Docker 的原生容器编排器。Docker swarm 允许您创建在多台机器上运行的 Docker 容器集群。它提供了诸如复制、扩展、自我修复等功能,即在一个容器死亡时启动一个新容器......

Kubernetes 也是一个容器编排器。Kubernetes 和 Docker swarm 可以被视为彼此的替代品。他们都尝试在集群中管理容器

Minikube 创建一个真正的 kubernetes 集群需要在本地或云平台上拥有多台机器。如果有人刚接触 Kubernetes 并试图通过玩 Kubernetes 来学习,这并不总是很方便。为了解决这个问题,minikube 允许您启动一个非常基本的 Kubernetes 集群,该集群由您机器上的单个 VM 组成,您可以使用它来玩 Kubernetes。

Minikube 不适用于生产或多节点集群。有很多工具可以用来创建多节点Kubernetes集群,比如kubeadm


moh*_*08p 5

容器是应用程序部署的未来。容器是docker中最小的部署单元。docker 中有三个组件,分别用于docker engine运行单个容器、docker-compose在单个主机上运行多容器应用程序以及docker-swarm跨主机运行多容器应用程序,这也是一个编排工具。

在kubernetes中,最小的部署单元是Pod(由多个容器组成)。Minikube是一个单节点集群,您可以在本地安装它并在本地尝试、测试和感受 kubernetes 功能。但是,您无法将其扩展到多个机器。Kubernetes是一个类似于 Docker Swarm 的编排工具,但在功能、扩展性、弹性和安全性方面比 Docker Swarm 更突出。

您可以进行分析并考虑哪种工具适合您的要求。每个都有自己的优点或缺点,例如 docker swarm 很好并且易于管理小型集群,而 kubernetes 则更适合大型集群。还有另一个编排工具Mesos,它也很流行并用于最大尺寸的集群。
看看这个,选择你自己的冒险,但这只是一个一般的类比,只是为了理解,因为所有三种技术都在快速发展。