k8s vs k3s: 差异解析

k8s vs k3s: 差异解析

2. K3s的优势

小型

K3s 的最大优势是它的尺寸最小(小于 100 MB),这有助于它以最少的设置在小型硬件中启动 Kubernetes 集群。

快速部署

curl -sfL https://get.k3s.io | sh -

检查就绪代码

takes maybe 30 seconds

k3s kubectl get node

轻量

K3s 由于内存占用小,非常轻量,这有助于 Kubernetes 快速启动和运行。这意味着包含运行集群所需的所有非容器化组件的二进制文件更小。

持续集成

K3s,由于其轻量级的环境和小尺寸,有助于持续集成。它有助于将来自多个贡献者的代码自动集成到单个项目中。

物联网和边缘计算的完美选择
由于支持 ARM64 和 ARMv7,K3s 对于要在资源受限的物联网设备上分发Kubernetes 非常有效。

简单和安全
小于 100 MB 的单个二进制文件封装了 K3s,这使得它变得简单,而且单个二进制文件易于保护,副作用更少。

3. 什么是K8s?

Kubernetes或K8s是最流行的管理容器的编排工具。它具有可移植性、灵活性和可扩展性,同时支持命令式/声明式配置和自动化,作为CNCF的一个毕业项目,其拥有一个庞大的生态系统。

Kubernetes。终极指南
围绕可扩展和可靠服务的需求每天都在成倍增加。市场的驱动力是客户要求他们最喜欢的服务拥有零停机时间,而公司每停机一分钟就会损失数百万美元。如果你遇到过负责保持系统运行的空间,你会[…]。

Kubernetes是为适应大规模配置(多达5000个节点)和帮助在生产环境中部署应用程序而设计的。

k8s vs k3s: 差异解析

4. K8s的优势

可移植性

Kubernetes具有高度的可移植性,因为大量的基础资源和环境配置都使用Kubernetes。大多数其他编排器都缺乏这种可移植性,因为它们与特定的运行时或基础设施绑在了一起。

灵活

Kubernetes非常灵活,因为它实际上可以与任何容器运行时(运行容器的程序)一起工作。它是Kubernetes集群的一部分,它依靠CRI-O将Kubernetes与CRI(容器运行时接口)集成。但是,这种整合并不适用所有可用的容器运行时,例如runc或Rkt。它使用kubelet来调度容器。

多云能力

Kubernetes是供应商无关的,这意味着它可以在任何可用的基础设施上运行,包括公共云、私有云和混合云。

可扩展性

根据传入流量来扩展应用程序的能力是任何现代基础设施的基本功能。HPA(HorizontalPod Autoscaler)是Kubernetes中的一个内置资源,它决定了一个服务的副本数量。在Kubernetes中,弹性是一个高度自动化的核心组件。

开放源代码

Kubernetes是开源的,属于CNCF的范畴,因此与其他工具有更好的兼容性,也有助于整个项目在社区驱动的贡献者帮助下快速修复错误和发布。

5. k8s与k3s:区别

K3s在功能上与K8s没有什么不同,但它们有一些区别,使它们显得独特。K3s能比K8s更快地部署应用程序。不仅如此,K3s可以比K8s更快地启动集群。K8s是一个通用的容器编排器,而K3s是一个专门为在裸金属服务器上运行Kubernetes而打造的容器编排器。

Kubernetes使用kubelet,这是一个在每个Kubernetes节点上运行的代理,对该节点上运行的容器进行循环控制。这个代理程序在容器内运行。而K3s并不使用kubelet,它在主机上运行kubelet,使用主机的调度机制来运行容器。

同样,我们可以看到,K3S由于体积小,所以是轻量级的,这有助于它在RaspberryPi等资源有限的物联网设备中运行集群。相比之下,我们可以看到,普通的Kubernetes或K8s在物联网或边缘计算设备中是不可行的。另外,K3s同时支持ARM64和ARMv7的二进制文件结构。

Kubernetes或K8s可以托管运行于多个环境中的工作负载,而K3s只能托管在单一云中运行的工作负载。这主要是因为K3s不包含在多个云上维护复杂的工作负载的能力,因为它的规模很小。

同时,我们可以看到 Kubernetes 借助其大规模的能力,在托管工作负载和多云环境中运行集群具有优势。K3s是一个独立的服务器,与K8s不同,它是Kubernetes集群的一部分。K8s依靠CRI-O来整合Kubernetes与CRI(容器运行时接口),而K3s使用CRI-O与所有支持的容器运行时兼容。K8s使用kubelet来调度容器,但K3s使用主机的调度机制来调度容器。

K3s使用kube-proxy来代理Kubernetes节点的网络连接,但K8s使用kube-proxy来代理单个容器的网络连接。它还使用kube-proxy来设置IP伪装,而K3s不使用kube-proxy来做这个。

同样,K8s使用kubelet来监视Kubernetes节点的配置变化,而K3s不监视Kubernetes节点的配置变化。相反,它从Kubernetes控制平面接收包含配置信息的部署清单,并做出相应的改变。

当涉及到大规模数据环境的编排(自动化任务的编排和协调)时,Kubernetes非常有优势,因为它有存储大量数据的数据库和编排大量对象的能力。同时,k3s对小规模数据的情况也是比较有用的。存储在一个小于100MB的二进制文件中,这将有助于快速启动集群,更快地调度pod和其他任务。

k3s有比k8s更严格的安全部署,因为其攻击面小。k3s的另一个优势是,它可以减少安装、运行或更新Kubernetes集群所需的依赖性和步骤。

6. 我应该选择k3s还是k8s?

中等市值的企业可以决定同时使用K3s和K8s,因为他们不会有一个实际的S

从上面的讨论中可以看出,K3s和K8s都有其优点和缺点,这使得它们彼此之间有独特的区别。两者都非常有用,但鉴于业务情况,不同业务场景的用法会也不一样。

我们已经看到了K8s对于大型应用的好处,牢记一点,一个处理大量数据的高市值企业,其工作负载分布在多个云服务器中,应该使用K8s,这将在很多方面受益。

中等市值的企业可以同时使用K3s和K8s,因为企业在运营过程中不会有确定的吞吐量。他们可以从使用K8s来处理大型工作负载中受益,而对于小规模生产过程中需要快速运行集群的情况,使用K3s会有更有优势。保持K3s和K8s之间的平衡可以帮助企业在保持正常运营的同时节省大量的资金。

没有任何大型应用的小市值企业可以自愿选择K3s,因为K3s在部署小工作负载的应用时非常快速,而且安装、运行和更新也很容易。

热衷于物联网和边缘计算的独立开发者选择K3s作为他们的Kubernetes发布环境会更大优势。他们使用许多计算资源受限的硬件,如RaspberryPi和其他。我们都知道K3s是以一个小的单一二进制文件出现的,并且支持在ARM64和ARMv7的物联网设备上运行。

最后的想法

您可能认为 k3s 比”全脂”k8s 更好,但让我提醒您 k3s 存在局限性。目前,k3s 不支持在主节点上运行除 SQLite 以外的任何其他数据库,也不支持多个主节点。因此,在选择默认容器编排器时,定义需求和目标非常重要。

我希望你在这篇文章之后对 Kubernetes 和 k3s 有相当程度的了解。如果您想学习和探索,官方教程将是一个很好的起点。

转自:https://www.modb.pro/db/161082

Original: https://www.cnblogs.com/yuwen01/p/16470772.html
Author: xiao智
Title: k8s vs k3s: 差异解析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611644/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 今日🎸吉他练到这儿

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16750421.html Or…

    数据库 2023年6月11日
    0117
  • MySQL建表语句生成Golang代码

    1. 背景 对于后台开发新的需求时,一般会先进行各种表的设计,写各个表的建表语句 然后根据建立的表,写对应的model代码、基础的增删改查代码(基础的增删改查服务可以划入DAO(D…

    数据库 2023年6月14日
    0121
  • BufferedImage类

    BufferedImage类(BufferedImage,是一个带缓冲区图像类,主要作用是将一副图片加载到内存中) BufferedImage类 是lmage的一个子类,Buffe…

    数据库 2023年6月11日
    0149
  • 数字签名和数字证书是什么

    定义 数字签名和数字证书的区别是什么?数字证书是由权威机构CA证书授权中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档。而数字签名是一种类似写在纸上的普通的物…

    数据库 2023年6月11日
    0122
  • Linux下的ssh、scala、spark配置

    注:笔记旨在记录,配置方式每个人多少有点不同,但大同小异,以下是个人爱好的配置方式. 平台:win10下的ubuntu虚拟机内 所用到的文件:hadoop-2.7.3.tarjdk…

    数据库 2023年6月16日
    0148
  • 自学SQL网题目解答与笔记

    Id Title Director Year Length_minutes 1 Toy Story John Lasseter 1995 81 2 A Bug’s Li…

    数据库 2023年5月24日
    0122
  • 2_CSS

    1. 什么是CSS 1.1 什么是CSS Cascading Style Sheet 层叠样式表 是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一…

    数据库 2023年6月11日
    0105
  • Java基础四—泛型、注解、异常、反射

    泛型 泛型的本质是为了参数化类型( 在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类…

    数据库 2023年6月6日
    0116
  • 开源、强大的Linux服务器集群管理工具,比宝塔好用!

    在这之前肯定很多人都接触过Linux管理面板:宝塔,宝塔的确非常方便而且好用,安装也简单,复制粘贴几句命令即可安装完成,且提供免费版。今天呢,民工哥向大家介绍另一个Linux的服务…

    数据库 2023年6月9日
    0199
  • Maven常用命令

    一、Maven常用命令及其介绍 mvn clean 对项目进行清理,删除target目录下编译的内容 mvn compile 编译项目源代码 mvn test 对项目进行运行测试 …

    数据库 2023年6月16日
    0109
  • 多商户商城系统功能拆解24讲-平台端分销会员

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    0129
  • Mysql 连续时间分组

    该方案不限于本例的连续时间,还可以应用于其他连续组。 [En] The scheme is not limited to the continuous time of this e…

    数据库 2023年5月24日
    0100
  • 新建vue项目

    1、CMD中输入命令行 vue ui 打开一个创建项目的窗口 2、安装插件element ui 3、Idea 打开这个项目即可 4、Idea 运行vue项目 npm run ser…

    数据库 2023年6月9日
    0124
  • [SuperSocket2.0]SuperSocket 2.0从入门到懵逼

    SuperSocket 2.0从入门到懵逼 1 使用SuperSocket 2.0在AspNetCore项目中搭建一个Socket服务器 1.1 引入SuperSocket 2.0…

    数据库 2023年6月9日
    0173
  • BigDecimal 设置小数位数、小数比例转换整数

    控制小数位数 DecimalFormat decimalFormat = new DecimalFormat("0.00"); decimalFormat.fo…

    数据库 2023年6月6日
    0114
  • MySQL实战45讲 15

    15 | 答疑文章(一):日志和索引相关问题 日志相关 binlog(归档日志)和redo log(重做日志)配合崩溃恢复,在两阶段提交的不同瞬间,MySQL如果发生异常重启,是怎…

    数据库 2023年6月16日
    0164
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球