Minikube、Kubernetes、Docker组合、Docker群等之间的差异

z2acfund  于 2023-02-03  发布在  Kubernetes
关注(0)|答案(6)|浏览(403)

我是集群容器管理的新手,这个问题是这里所有新手的基础。
我看了一些文档,但仍然,我的理解不是太清楚,所以有什么线索..帮助理解?
1.在某个地方提到过,Minikube是用来在本地运行Kubernetes的,所以如果我们想在我的四节点Raspberry Pi中维护集群管理,Minikube不是选择吗?

  1. Minikube只支持单节点系统吗?
  2. Docker Compose是一组指令和一个YAML文件,用于配置和启动多个Docker容器。我们可以使用它来启动不同主机的容器吗?然后,对于需要调用第二台主机的容器的简单编排,我不需要任何群集管理,对吗?
  3. Docker Swarm和Kubernetes之间的联系是什么?两者都是独立的集群管理。在Raspberry Pi上使用Kubernetes是否高效?是否有任何问题,因为我被告知单节点中的Kubernetes占用了全部内存和CPU使用率?这是真的吗?
  4. Raspberry Pi是否有其他群集管理?
    我想这4-5盘会对我有更好的帮助。
xlpyo6sf

xlpyo6sf1#

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

  • Minikube并不太合适。它在Windows、MacOS或Linux上启动单个虚拟机,然后在其中安装Kubernetes集群。开发人员通常使用它在笔记本电脑或台式机上快速启动集群,以进行开发和测试。
  • Docker Compose是一个用于管理相关容器集合的系统。因此,例如,如果您有一个Web服务器和数据库,您希望一起管理,您可以将它们放在一个Docker Compose文件中。
  • Docker Swarm是一个跨多个主机管理容器集的系统,本质上是Kubernetes的替代品,它的功能比Kubernetes少,但设置起来要简单得多。

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

ljsrvy3e

ljsrvy3e2#

Docker Compose使用单个docker-compose up单个主机上启动多个Docker容器的实用程序。这使得一次启动多个容器更容易,而不是执行多个docker run命令。
Docker swarmDocker的本机容器编排器。Docker swarm允许您创建在多台计算机上运行的Docker容器群集。它提供复制、缩放、自我修复(即在一个容器死亡时启动新容器)等功能...
Kubernetes也是一个容器编排器。Kubernetes和Docker swarm可以看作是彼此的替代品。它们都尝试处理从集群开始的容器管理
Minikube创建一个真实的的Kubernetes集群需要在内部部署或云平台上拥有多台计算机。如果某人刚刚接触Kubernetes并试图通过试用Kubernetes来学习,这并不总是方便的。要解决这个问题,minikube允许您启动一个非常基本的Kubernetes集群,该集群由您计算机上的单个VM组成,您可以使用它来试用Kubernetes。

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

jaql4c8m

jaql4c8m3#

容器是应用程序部署的未来。容器是Docker中最小的部署单元。Docker中有三个组件:docker engine用于运行单个容器,docker-compose用于在单个主机上运行多容器应用程序,docker-swarm用于跨主机运行多容器应用程序,它也是一个编排工具。
在Kubernetes,最小的部署单元是PodMinikube是一个单节点集群,您可以在本地安装它,并在本地尝试、测试和体验kubernetes特性。但是,您无法将其扩展到多台计算机。Kubernetes是一个类似于Docker Swarm的编排工具,但在特性、可扩展性、弹性和安全性。
你可以做分析,考虑哪种工具适合你的需求,每种工具都有自己的优缺点,比如Docker Swarm很好,很容易管理小集群,而kubernetes更适合大集群,还有一种编排工具Mesos,也很流行,用在大集群中。
看看这个,Choose your own Adventure,这只是一个一般的类比,只是为了理解,因为这三种技术都在快速发展。

jdzmm42g

jdzmm42g4#

我觉得你主要是想确认一下如果可以的话我很乐意帮忙。
1.是,minikube仅限于本地
1.是,minikube旨在作为单节点

  1. Docker-compose并不像swarm和Kubernetes那样是一个真正的编排系统,它有助于在单个主机上运行相关的容器,但不用于多主机。
  2. Kubernetes和Docker Swarm都是容器编排系统,这两种系统都擅长管理纵向扩展,但它们有相关的开销,因此更适合多节点。
    1.我不知道Raspberry Pi的编排选项范围,但有Kubernetes示例,如 * Build Your Own Cloud with Kubernetes and Some Raspberry Pi *。
mo49yndu

mo49yndu5#

对于Pi,你可以在一个或多个Pi上使用Docker Swarm Mode。你甚至可以在Docker for Windows/Mac上运行ARM仿真测试,然后再尝试让它直接在Pi上工作。Kubernetes也是如此,因为它现在内置在Docker for Windows/Mac中(不需要minikube)。
亚历克斯埃利斯有一个good blog on Pi和 Docker and this post may help too

ujv3wf0j

ujv3wf0j6#

我一直在Raspberry Pis(3Bs)的子网上尝试编排Docker容器。
我发现Docker-swarm最容易设置和使用,并且足以满足我的目的。指南:https://docs.docker.com/engine/swarm/swarm-tutorial/
Kubernetes有两种主要选择:k3smicrok8s。一些指南:

k3秒

https://bryanbende.com/development/2021/05/07/k3s-raspberry-pi-initial-setup

微型k8

https://ubuntu.com/tutorials/how-to-kubernetes-cluster-on-raspberry-pi#1-overview

相关问题