Minikube、Kubernetes、Docker Compose、Docker Swarm 等之间的区别
Difference between Minikube, Kubernetes, Docker Compose, Docker Swarm, etc
我是集群容器管理的新手,这个问题是这里所有新生的基础。
我阅读了一些文档,但我的理解仍然不是太清楚,所以任何线索..有助于理解?
- 某处提到,Minikube 用于在本地 运行 Kubernetes。因此,如果我们想在我的四节点中维护集群管理 Raspberry Pi,那么 Minikube 不是一个选择吗?
- Minikube 是否只支持单节点系统?
- Docker Compose 是一组指令和一个 YAML 文件,用于配置和启动多个 Docker 容器。我们可以用它来启动不同主机的容器吗?那么对于需要调用第二台主机的容器的简单编排,我不需要任何集群管理,对吧?
- Docker Swarm 和 Kubernetes 之间的 link 是什么?两者都是独立的集群管理。在 Raspberry Pi 上使用 Kubernetes 是否高效?任何问题,因为我被告知单节点中的 Kubernetes 占用了完整的内存和 CPU 使用率?是真的吗?
- Raspberry Pi是否有其他集群管理?
我认为这 4-5 组会更好地帮助我。
假设您的目标是 运行 一组基于多个不同 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 集群。
我觉得您主要是在寻求确认,如果可以的话,我很乐意提供帮助。
- 是的,minikube 仅限本地
- 是的,minikube是单节点的
- Docker-compose 并不是像 swarm 和 Kubernetes 那样真正的编排系统。它有助于在单个主机上使用 运行 相关容器,但不适用于多主机。
- Kubernetes和DockerSwarm都是容器编排系统。这些系统擅长管理扩展,但它们有与之相关的开销,因此它们更适合多节点。
- 我不知道 Raspberry Pi 的编排选项范围,但有 Kubernetes 示例,例如 Build Your Own Cloud with Kubernetes and Some Raspberry Pi.
容器是应用程序部署的未来。容器是 docker 中最小的部署单元。 docker 中有三个组件,docker engine
到 运行 单个容器,docker-compose
到 运行 单个主机上的多容器应用程序和 docker-swarm
到 运行 跨主机的多容器应用程序,这也是一个编排工具。
在kubernetes中,部署的最小单位是Pod(由多个容器组成)。 Minikube
是一个单节点集群,可以在本地安装,在本地尝试、测试和感受kubernetes的特性。但是,您不能将其扩展到一台以上的机器。 Kubernetes
是一个类似于 Docker Swarm 的编排工具,但在功能、扩展性、弹性和安全性方面比 Docker Swarm 更突出。
您可以分析一下,考虑一下哪种工具适合您的需求。每个都有自己的优点或缺点,例如 docker swarm 很好并且易于管理小型集群,而 kubernetes 对于较大的一次集群要好得多。还有另一种编排工具 Mesos,它也很流行,并在最大规模的集群中使用。
检查一下,Choose your own Adventure 但是,这只是一个笼统的类比,只是为了理解,因为这三种技术都在迅速发展。
Docker 撰写
使用单个 docker-compose up
在 单个 主机上启动多个 docker 容器的实用程序。这使得一次启动多个容器变得更容易,而不是执行多个 docker run
命令。
Docker群
Docker 的本机容器编排器。 Docker swarm 允许您在多台机器上创建 docker 个容器 运行 的集群。它提供复制、缩放、自我修复等功能,即在一个容器死亡时启动一个新容器...
Kubernetes
也是一个容器编排器。 Kubernetes 和 Docker swarm 可以被视为彼此的替代品。他们都试图处理从集群开始的管理容器
Minikube
创建一个真正的 kubernetes 集群需要在本地或云平台上拥有多台机器。如果有人刚接触 Kubernetes 并试图通过玩弄 Kubernetes 来学习,这并不总是很方便。为了解决这个问题,minikube 允许您启动一个非常基本的 Kubernetes 集群,该集群由您机器上的单个 VM 组成,您可以使用它来玩 Kubernetes。
Minikube 不适用于生产或多节点集群。有许多工具可用于创建多节点 Kubernetes 集群,例如 kubeadm
对于 Pi,您可以在一个或多个 Pi 上使用 Docker 群模式。您甚至可以 运行 ARM 仿真在 Docker 上针对 Windows/Mac 进行测试,然后再尝试使其全部直接在 Pi 上运行。 Kubernetes 也是如此,因为它现在内置于 Docker for Windows/Mac(不需要 minikube)。
Alex Ellis good blog on Pi and Docker and this post may help too.
我是集群容器管理的新手,这个问题是这里所有新生的基础。
我阅读了一些文档,但我的理解仍然不是太清楚,所以任何线索..有助于理解?
- 某处提到,Minikube 用于在本地 运行 Kubernetes。因此,如果我们想在我的四节点中维护集群管理 Raspberry Pi,那么 Minikube 不是一个选择吗?
- Minikube 是否只支持单节点系统?
- Docker Compose 是一组指令和一个 YAML 文件,用于配置和启动多个 Docker 容器。我们可以用它来启动不同主机的容器吗?那么对于需要调用第二台主机的容器的简单编排,我不需要任何集群管理,对吧?
- Docker Swarm 和 Kubernetes 之间的 link 是什么?两者都是独立的集群管理。在 Raspberry Pi 上使用 Kubernetes 是否高效?任何问题,因为我被告知单节点中的 Kubernetes 占用了完整的内存和 CPU 使用率?是真的吗?
- Raspberry Pi是否有其他集群管理?
我认为这 4-5 组会更好地帮助我。
假设您的目标是 运行 一组基于多个不同 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 集群。
我觉得您主要是在寻求确认,如果可以的话,我很乐意提供帮助。
- 是的,minikube 仅限本地
- 是的,minikube是单节点的
- Docker-compose 并不是像 swarm 和 Kubernetes 那样真正的编排系统。它有助于在单个主机上使用 运行 相关容器,但不适用于多主机。
- Kubernetes和DockerSwarm都是容器编排系统。这些系统擅长管理扩展,但它们有与之相关的开销,因此它们更适合多节点。
- 我不知道 Raspberry Pi 的编排选项范围,但有 Kubernetes 示例,例如 Build Your Own Cloud with Kubernetes and Some Raspberry Pi.
容器是应用程序部署的未来。容器是 docker 中最小的部署单元。 docker 中有三个组件,docker engine
到 运行 单个容器,docker-compose
到 运行 单个主机上的多容器应用程序和 docker-swarm
到 运行 跨主机的多容器应用程序,这也是一个编排工具。
在kubernetes中,部署的最小单位是Pod(由多个容器组成)。 Minikube
是一个单节点集群,可以在本地安装,在本地尝试、测试和感受kubernetes的特性。但是,您不能将其扩展到一台以上的机器。 Kubernetes
是一个类似于 Docker Swarm 的编排工具,但在功能、扩展性、弹性和安全性方面比 Docker Swarm 更突出。
您可以分析一下,考虑一下哪种工具适合您的需求。每个都有自己的优点或缺点,例如 docker swarm 很好并且易于管理小型集群,而 kubernetes 对于较大的一次集群要好得多。还有另一种编排工具 Mesos,它也很流行,并在最大规模的集群中使用。
检查一下,Choose your own Adventure 但是,这只是一个笼统的类比,只是为了理解,因为这三种技术都在迅速发展。
Docker 撰写
使用单个 docker-compose up
在 单个 主机上启动多个 docker 容器的实用程序。这使得一次启动多个容器变得更容易,而不是执行多个 docker run
命令。
Docker群 Docker 的本机容器编排器。 Docker swarm 允许您在多台机器上创建 docker 个容器 运行 的集群。它提供复制、缩放、自我修复等功能,即在一个容器死亡时启动一个新容器...
Kubernetes 也是一个容器编排器。 Kubernetes 和 Docker swarm 可以被视为彼此的替代品。他们都试图处理从集群开始的管理容器
Minikube 创建一个真正的 kubernetes 集群需要在本地或云平台上拥有多台机器。如果有人刚接触 Kubernetes 并试图通过玩弄 Kubernetes 来学习,这并不总是很方便。为了解决这个问题,minikube 允许您启动一个非常基本的 Kubernetes 集群,该集群由您机器上的单个 VM 组成,您可以使用它来玩 Kubernetes。
Minikube 不适用于生产或多节点集群。有许多工具可用于创建多节点 Kubernetes 集群,例如 kubeadm
对于 Pi,您可以在一个或多个 Pi 上使用 Docker 群模式。您甚至可以 运行 ARM 仿真在 Docker 上针对 Windows/Mac 进行测试,然后再尝试使其全部直接在 Pi 上运行。 Kubernetes 也是如此,因为它现在内置于 Docker for Windows/Mac(不需要 minikube)。
Alex Ellis good blog on Pi and Docker and this post may help too.