Minikube vs. kind vs. k3s vs k3d vs MicroK8s

这篇具有很好参考价值的文章主要介绍了Minikube vs. kind vs. k3s vs k3d vs MicroK8s。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

minikube和k8s区别,kubernetes,kubernetes,kind,minikube,k3s,microk8s

1. minikube

minikube 是一个 Kubernetes SIG 项目,已经启动三年多了。它采用生成虚拟机的方法,该虚拟机本质上是一个单节点 K8s 集群。由于支持大量管理程序,它可以在所有主要操作系统上使用。这也允许您并行创建多个实例。

从用户的角度来看,minikube 是一个非常适合初学者的工具。您使用 启动集群minikube start,等待几分钟,您kubectl就可以开始了。要指定 Kubernetes 版本,您可以使用该--kubernetes-version标志。可在此处找到受支持版本的列表。默认情况下,Minikube 创建一个单节点集群,但您可以在启动 Minikube 时使用 --nodes 标志设置更多节点。

Minikube 的主要优点是它非常轻便,并且非常易于安装和使用。

Minikube 的主要缺点是它仅为测试而设计。它不是运行生产级集群的实用解决方案。

如果您是 Kubernetes 的新手,minikube 提供的对其仪表板的一流支持可能会对您有所帮助。通过一个简单minikube dashboard的应用程序将打开,让您很好地了解集群中发生的一切。这是通过minikube 的插件系统实现的,它可以帮助您将诸如Helm、Nvidia GPU和Docker Registry之类的东西与您的集群集成。

  • Minikube v1.25.2 在 Centos 7.9 部署 Kubernetes v1.23.8
  • Ubuntu 18.04 通过 Minikube 安装 Kubernetes v1.20

2. k3s

K3s 是由Rancher Labs开发的 Kubernetes 的缩小版本。通过删除可有可无的功能(遗留、alpha、非默认、树内插件)和使用轻量级组件(例如 sqlite3 而不是 etcd3),他们实现了显着的缩减。这会生成一个大小约为 60 MB 的二进制文件。它还可以在任何操作系统(Linux、Windows 和 macOS)上运行。

如果你想将节点添加到你的集群中,你必须单独在它们上设置 K3s 并将它们加入到你的集群中。在这方面,K3s 使用起来比 Minikube 和 MicroK8s 稍微繁琐一些,两者都提供了更简单的添加节点的过程。

另一方面,K3s 被设计成一个成熟的、生产就绪的 Kubernetes 发行版,同时也是轻量级的。

一项突出的功能称为自动部署。它允许您通过将 Kubernetes 清单和 Helm 图表放在特定目录中来部署它们。K3s 监视变化并在没有任何进一步交互的情况下负责应用它们。这对于 CI 管道和 IoT 设备(都是 K3s 的目标用例)特别有用。只需创建/更新您的配置,K3s 就会确保您的部署保持最新。

  • k3s 一条短命令安装:curl -sfL https://get.k3s.io | sh -
  • k3s 离线部署指南

3. k3d

k3d 是一个 开源 实用程序,旨在轻松地在 docker 容器中运行高度可用的轻量级 k3s 集群。

使用 k3d,您可以轻松创建单节点和多节点 k3s 集群,以在 Kubernetes 上进行无缝本地开发和测试。通过在 Kubernetes 中运行,k3d 还可以帮助您轻松扩展和缩减工作负载。
k3d 是 k3s 的包装器,顾名思义就是 docker 上的 k3s。
它还提供了额外的功能,例如代码的热重载、构建部署和使用多服务器集群测试 Kubernetes 应用程序。
k3d 部署基于 Docker 的 k3s Kubernetes 集群,而 k3s 部署基于虚拟机的 Kubernetes 集群。
K3d 提供了一个更具可扩展性的 k3s 版本,这可能使其优于标准 k3s。
k3d 似乎是 k3s 的更灵活和改进的版本,尽管它们的功能和用法相似。
另一个不同之处是,k3s 的设计易于在生产环境中部署,这使其成为在本地环境中为生产级工作负载运行 Kubernetes 的最受欢迎的选择之一,而 k3d 更适合在更小的环境中使用,例如 Raspberry Pi、IoT、和边缘设备。

4. Kind

Kind 是另一个 Kubernetes SIG 项目,但与 minikube 相比有很大不同。顾名思义,它将集群移动到 Docker 容器中。与生成 VM 相比,这导致启动速度明显加快。

创建集群与 minikube 的方法非常相似。执行kind create cluster,然后你就可以开始了。通过使用不同的名称 ( --name) kind,您可以并行创建多个实例。

我个人喜欢的一个功能是能够将我的本地图像直接加载到集群中。这为我节省了一些额外的步骤,即每次我想尝试我的更改时设置注册表和推送我的图像。简单kind load docker-image my-app:latest来说,图像就可以在我的集群中使用。很不错!

如果您正在寻找一种以编程方式创建 Kubernetes 集群的方法,请亲切地(您一直在等待这个,不是吗 😛)发布其在后台使用的 Go 包。

5. MicroK8s

Microk8s是Canonical发布的一款小型、轻量级、完全符合标准的Kubernetes发行版。这款简约的发行版专注于简洁和性能。由于占用资源少,Microk8s可以轻松部署在物联网和边缘设备端。MicroK8s是目前最小、最快与Kubernetes全面兼容的集群系统,主要用于工作站和小型团队,但是目前镜像并没有与snap打包在一起,还在gcr.io上,国内下载上还是有问题。MicroK8s适合离线开发、原型开发和测试,尤其是运行VM作为小、便宜、可靠的k8s用于CI/CD。支持arm架构,也适合开发 IoT 应用,通过 MicroK8s 部署应用到小型Linux设备上。

Canonical已将Microk8s 包装成 snap,这是该公司的Linux软件包管理器。snap捆绑了应用程序及无需修改即可在许多不同的Linux发行版上运行的依赖项。snap是独立的应用程序,可在沙盒中运行,通过中介访问主机系统。snap 已成为通常在基于 Debian 的发行版中使用的标准.deb软件包之外的替代方案。包装成snap的应用程序可以轻松安装和卸载。除了最新版本的Ubuntu外,snap 还可以部署在各种平台上,包括Linux Mint、Raspberry Pi OS和Arch Linux。

由于Microk8s基于snap,因此可以通过单个命令轻松部署。比如在Ubuntu 18.04上,sudo snap install microk8s --classic可安装功能完备的单节点Kubernetes集群。对于任何运行snapd(snap软件包管理器的守护程序)的平台而言,安装过程都一样

项目特点

  • MicroK8轻巧 :团队成员希望最小的Kubernetes用于笔记本电脑和工作站的开发。 MicroK8s提供了轻量级的独立Kubernetes,在Ubuntu上运行时,它与Azure AKS,Amazon EKS和Google GKE兼容。
  • MicroK8很简单 :MicroK8s通过单软件包安装来最大程度地减少管理和操作,该软件包没有活动部件(开箱即用),并且包括所有依赖项。
  • MicroK8是安全的 :对于所有安全问题,更新始终可用,并且可以立即应用或安排更新以适合企业的维护周期。 此外,MicroK8具有最新的隔离功能,可在工作站上安全运行。 通过将Kubernetes,Docker.io,iptables和CNI的所有二进制文件打包在单个snap软件包中,可以实现这种隔离。
  • MicroK8是最新的 :MicroK8s跟踪上游Kubernetes,并在上游Kubernetes发行的同一天发布beta,发行候选版本和最终版本。 您可以跟踪最新的Kubernetes或坚持使用从1.10开始的任何Kubernetes版本。 当出现新的主要Kubernetes版本时,您可以自动升级或使用单个命令进行升级。
  • MicroK8是全面的 :MicroK8s包括精选的清单,用于常见的Kubernetes功能和服务。 MicroK8带有Docker注册表,使用户可以在笔记本电脑上制作,推送和部署容器。

运行环境
操作系统 Ubuntu 18.04 LTS 或16.04 LTS 环境 (或其他支持 snapd 的操作系统- see the snapd documentation)。至少 20G 磁盘空间, (建议)4G 内存。

MicroK8s 的一个不错的特性是,只要集群节点总数达到或超过三个,它就会自动将您的集群配置为高可用性(意味着它有多个主节点)。

总体而言,MicroK8s 使用起来比 K3s 或 Minikube 稍微复杂一些,特别是因为它具有模块化架构并且默认情况下仅运行最少的服务集。要打开 DNS 支持或基于 Web 的仪表板等功能,您必须明确启动它们。

  • 开源地址:https://github.com/canonical/microk8s
minikube k3s kind
runtime VM native container
supported architectures AMD64 AMD64, ARMv7, ARM64 AMD64
supported container runtimes Docker,CRI-O,containerd,gvisor Docker, containerd Docker
startup time initial/following 5:19 / 3:15 0:15 / 0:15 2:48 / 1:06
memory requirements 2GB 512 MB 8GB (Windows, MacOS)
requires root? no yes (rootless is experimental) no
multi-cluster support yes no (can be achieved using containers) yes
multi-node support no yes yes
project page minikube k3s kind

参考:文章来源地址https://www.toymoban.com/news/detail-795093.html

  • K3d vs k3s vs Kind vs Microk8s vs Minikube
  • Minikube vs. kind vs. k3s - What should I use?

到了这里,关于Minikube vs. kind vs. k3s vs k3d vs MicroK8s的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K3S+Rancher

    查看系统版本 查看系统命令集 这是我系统配置情况 服务器清单 名称 IP 配置 系统 主-服务 192.168.23.171 4Cpu8G Ubuntu 20.04.6 副主-服务 192.168.23.103 4Cpu8G Ubuntu 20.04.6 代理-服务 192.168.23.248 4Cpu8G Ubuntu 20.04.6 外置均衡代理 192.168.23.205 4Cpu8G Ubuntu 20.04.6 修改/etc/apt/sources.list文件 修改主机服

    2024年01月18日
    浏览(30)
  • docker+k3s部署GZCTF

    k3s官网 gzctf官方部署文档地址 gzctf官网 name ip gzctfweb 192.168.8.100 k3s-master 192.168.8.101 k3s-slave 192.168.8.102 1、 k3s-master节点执行: systemctl enable --now k3s  # k3sserver自启 注意:在安装slave节点时,先在master节点用如下命令查看token cat /var/lib/rancher/k3s/server/node-token 2、 k3s-slave节点执行:

    2024年02月08日
    浏览(61)
  • kubernetes快速入门之K3S

    Kubernetes 是一个开源的容器编排引擎和容器集群管理工具,用来对容器化应用进行自动化部署、 扩缩和管理。 Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有8个字符。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大

    2024年03月10日
    浏览(84)
  • k3s 轻量级Kubernetes 安装实例

    k3s 是由Rancher开发的轻量级Kubernetes,支持嵌入式系统,边缘计算节点等 易于安装,所有组件都在一个小于100MB的二进制文件中,占用资源低 1.1、简单安装试例 1.2、使用国内源+安装指定版本+添加参数 安装过程如下,安装时间13秒 参数说明: time 测量命令执行时间 INSTALL_K3S_MIRROR=cn 使

    2024年02月14日
    浏览(37)
  • 09-K3S 安装-私有镜像仓库配置参考

    K3s 默认使用 containerd 作为容器运行时,所以在 docker 上配置镜像仓库是不生效的[ 除非将容器运行时环境设置为Docker,本篇以 containerd 作为容器运行时环境 ] K3s registry 配置目录为: /etc/rancher/k3s/registries.yaml 。K3s 启动时,K3s 会检查 /etc/rancher/k3s/ 中是否存在 registries.yaml 文件,

    2024年02月08日
    浏览(33)
  • k3s部署全过程kuboard管理界面

    # 安装k3s博客 ## 准备工作 1.准备俩台可以相互访问的服务器 2.需要先安装dockers 3.以下教程将使用VsCode+ssh插件来进行插件图 点击打开ssh操作界面 进入需要设置master节点的服务器中然后执行docker命令启动一个autok3s的容器并且需要将docker映射进去 注:如果选择使用docker做为k3s的

    2024年02月06日
    浏览(37)
  • 三台N1上离线安装k3s集群

    三台N1 分别是 hostname IP server n101 192.168.0.101 agent n102 192.168.0.102 agent n103 192.168.0.103 1. 创建k3s文件夹并进入 2. 下载 去https://github.com/k3s-io/k3s/releases下载最新的k3s二进制和依赖镜像的压缩包 k3s: 二进制。 k3s-airgap-images-amd64.tar: 镜像压缩包。 amd的直接选择k3s和带有amd的文件,arm或者

    2024年02月10日
    浏览(31)
  • K3S和 K8S 有何不同?

    K3s 是CNCF 认证的 Kubernetes 发行版和Sandbox项目,专为低资源环境而设计。由 Rancher Labs 维护着 K3s。 总的来说,K3s 提供了一个开销较小的 Kubernetes 集群设置,但仍然集成了 K8s 的大部分架构和功能。 以下是 K3s 成为轻量级发行版的原因: 打包为具有最小外部依赖性的单个二进制

    2023年04月09日
    浏览(31)
  • 解决安装了k3s以后80和443端口被占用的问题

    今天服务器安装了一个k3s,该服务器的其他服务就都访问不了了,查了一下是因为k3s默认会安装traefik来替代k8s的ingress来代理流量,此时默认情况会占据系统的 80 和 443 端口。 并且很奇怪的是lsof -i:80 都查不到traefik这个端口。因为通过iptables来转发流量所以lsof不会找到该应用

    2024年02月11日
    浏览(27)
  • k3s x GitLab Runner Operator,GitLab CI 云原生构建新体验

    GitLab CI 是非常常用的一款 CI/CD 工具,只需要在 .gitlab-ci.yml 文件中用 YAML 语法编写 CI/CD 流水线即可。而 GitLab CI 能够运行的关键组件是 GitLab Runner。GitLab Runner 是一个轻量级、高扩展的代理,主要用来执行 GitLab CI/CD 流水线中的 Job,然后将 Job 的执行结果返回 GitLab 实例。 Gi

    2024年01月21日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包