[云原生/虚拟化] K3S:轻量级Kubernetes发行版
0 序:缘起Kubernetes
Kubernetes
无疑是容器编排领域的领头羊————Kubernetes或K8s是最流行的管理容器的编排工具。它具有可移植性、灵活性和可扩展性,同时支持命令式/声明式配置和自动化,作为CNCF的一个毕业项目,其拥有一个庞大的生态系统。
Kubernetes
是为适应大规模配置(多达5000个节点)和帮助在生产环境中部署应用程序而设计的。
但目前,我们看到K3s
或轻量级的Kubernetes发行版,轻巧、高效、快速,占用空间极小。
鉴于目前企业对于在生产环境中使用K3s
还是K8s
感到纠结。
我们就此讨论一K3s
和K8s
各自的独特之处。如果你只想在你的企业中使用其中之一,想避免选择的纠结,请一起探讨。
1 概述:K3s := 轻量级Kubernetes发行版
什么是 K3s?
K3s
是Rancher
实验室的一个轻量级Kubernetes发行版
- 由
CNCF
完全认证的Kubernetes
产品。- 在K3s中,我们看到运内存占用或集群组件的二进制文件很小。这意味着K3s的体积很小。
- 由于
K3s
的二进制文件很小,所以它是非常轻量级的,这使得安装过程更快。
- 此外,用这种轻量级的Kubernetes,部署应用程序也更快。
K3s
有一个基础二进制包,其大小不到100MB
。由于它如此之小,我们甚至可以在
Raspberry Pi
(价格低廉的小型计算机硬件)中运行一个K3s集群。
K3s Working Structure(Source: K3s)
竞品分析
- 云边端协同领域: KubeEdge vs K3s
KubeEdge 没有裁剪/修改 K8s,而是做加法。
K3s 是对 Kubernetes 做减法、做瘦身。
K3s的优势
- 小型
K3s 的最大优势是它的尺寸最小(小于 100 MB),这有助于它以最少的设置在小型硬件中启动 Kubernetes 集群。
- 轻量
K3s 由于内存占用小,非常轻量,这有助于 Kubernetes 快速启动和运行。这意味着包含运行集群所需的所有非容器化组件的二进制文件更小。
- 快速部署
curl -sfL https://get.k3s.io | sh -
# 检查就绪代码
takes maybe 30 seconds
k3s kubectl get node
- 持续集成
K3s,由于其轻量级的环境和小尺寸,有助于持续集成。它有助于将来自多个贡献者的代码自动集成到单个项目中。
- 物联网和边缘计算的完美选择
由于支持 ARM64 和 ARMv7,K3s 对于要在资源受限的物联网设备上分发Kubernetes 非常有效。
- 简单和安全
小于 100 MB 的单个二进制文件封装了 K3s,这使得它变得简单,而且单个二进制文件易于保护,副作用更少。
对比: K8s
K8s的优势
- 可移植性
Kubernetes具有高度的可移植性,因为大量的基础资源和环境配置都使用Kubernetes。大多数其他编排器都缺乏这种可移植性,因为它们与特定的运行时或基础设施绑在了一起。
- 灵活
Kubernetes非常灵活,因为它实际上可以与任何容器运行时(运行容器的程序)一起工作。
它是Kubernetes集群的一部分,它依靠CRI-O
将Kubernetes
与CRI
(容器运行时接口)集成。
但是,这种整合并不适用所有可用的容器运行时,例如runc或Rkt。
它使用kubelet
来调度容器。
- 多云能力
Kubernetes是供应商无关的,这意味着它可以在任何可用的基础设施上运行,包括公共云、私有云和混合云。
- 可扩展性
根据传入流量来扩展应用程序的能力是任何现代基础设施的基本功能。
HPA(HorizontalPod Autoscaler)是Kubernetes中的一个内置资源,它决定了一个服务的副本数量。
在Kubernetes中,弹性是一个高度自动化的核心组件。
- 开放源代码
Kubernetes
是开源的,属于CNCF
的范畴,因此与其他工具有更好的兼容性,也有助于整个项目在社区驱动的贡献者帮助下快速修复错误和发布。
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集群所需的依赖性和步骤。
我应该选择k3s还是k8s?
从上面的讨论中可以看出,K3s和K8s都有其优点和缺点,这使得它们彼此之间有独特的区别。两者都非常有用,但鉴于业务情况,不同业务场景的用法会也不一样。
-
我们已经看到了K8s对于大型应用的好处,牢记一点,一个处理大量数据的高市值企业,其工作负载分布在多个云服务器中,应该使用
K8s
,这将在很多方面受益。 -
中等市值的企业可以决定同时使用K3s和K8s
因为企业在运营过程中不会有确定的吞吐量。他们可以从使用K8s来处理大型工作负载中受益。
- 而对于小规模生产过程中需要快速运行集群的情况,使用K3s会有更有优势。
- 保持K3s和K8s之间的平衡可以帮助企业在保持正常运营的同时节省大量的资金。
- 没有任何大型应用的小市值企业可以自愿选择K3s,因为K3s在部署小工作负载的应用时非常快速,而且安装、运行和更新也很容易。
- 热衷于物联网和边缘计算的独立开发者选择K3s作为他们的Kubernetes发布环境会更大优势。
他们使用许多计算资源受限的硬件,如RaspberryPi和其他。我们都知道K3s是以一个小的单一二进制文件出现的,并且支持在ARM64和ARMv7的物联网设备上运行。
- 最后的想法
您可能认为 k3s 比“全脂”k8s 更好,但让我提醒您 k3s 存在局限性。
目前,k3s 不支持在主节点上运行除SQLite
以外的任何其他数据库,也不支持多个主节点。
因此,在选择默认容器编排器时,定义需求和目标非常重要。
2 K3s 安装篇
[root@localhost ~]# curl -sfL https://get.k3s.io | sh -
[INFO] Finding release for channel stable
[INFO] Using v1.23.6+k3s1 as release
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.23.6+k3s1/sha256sum-amd64.txt[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.23.6+k3s1/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; 拒绝连接"
正在尝试其它镜像。
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/7): epel/x86_64/group_gz | 96 kB 00:00:00
(2/7): base/7/x86_64/group_gz | 153 kB 00:00:01
(3/7): extras/7/x86_64/primary_db | 247 kB 00:00:01
(4/7): epel/x86_64/updateinfo | 1.0 MB 00:00:03
(5/7): base/7/x86_64/primary_db | 6.1 MB 00:00:20
(6/7): epel/x86_64/primary_db | 7.0 MB 00:00:22
(7/7): updates/7/x86_64/primary_db | 16 MB 00:00:45
正在解决依赖关系
--> 正在检查事务
---> 软件包 yum-utils.noarch.0.1.1.31-50.el7 将被 升级
---> 软件包 yum-utils.noarch.0.1.1.31-54.el7_8 将被 更新
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================================================================================================================================== Package 架构 版本 源 大小
===================================================================================================================================================================================================================================正在更新:
yum-utils noarch 1.1.31-54.el7_8 base 122 k
事务概要
===================================================================================================================================================================================================================================升级 1 软件包
总下载量:122 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
yum-utils-1.1.31-54.el7_8.noarch.rpm | 122 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : yum-utils-1.1.31-54.el7_8.noarch 1/2
清理 : yum-utils-1.1.31-50.el7.noarch 2/2
验证中 : yum-utils-1.1.31-54.el7_8.noarch 1/2
验证中 : yum-utils-1.1.31-50.el7.noarch 2/2
更新完毕:
yum-utils.noarch 0:1.1.31-54.el7_8
完毕!
已加载插件:fastestmirror
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
rancher-k3s-common-stable | 2.9 kB 00:00:00
rancher-k3s-common-stable/primary_db | 3.4 kB 00:00:01
正在解决依赖关系
--> 正在检查事务
---> 软件包 k3s-selinux.noarch.0.1.1-1.el7 将被 安装
--> 正在处理依赖关系 container-selinux < 2:2.164.2,它被软件包 k3s-selinux-1.1-1.el7.noarch 需要
--> 正在处理依赖关系 selinux-policy-base >= 3.13.1-252,它被软件包 k3s-selinux-1.1-1.el7.noarch 需要
--> 正在处理依赖关系 container-selinux >= 2:2.107-3,它被软件包 k3s-selinux-1.1-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.119.2-1.911c772.el7_8 将被 安装
--> 正在处理依赖关系 policycoreutils-python,它被软件包 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 需要
---> 软件包 selinux-policy-targeted.noarch.0.3.13.1-229.el7_6.6 将被 升级
---> 软件包 selinux-policy-targeted.noarch.0.3.13.1-268.el7_9.2 将被 更新
--> 正在处理依赖关系 selinux-policy = 3.13.1-268.el7_9.2,它被软件包 selinux-policy-targeted-3.13.1-268.el7_9.2.noarch 需要
--> 正在处理依赖关系 selinux-policy = 3.13.1-268.el7_9.2,它被软件包 selinux-policy-targeted-3.13.1-268.el7_9.2.noarch 需要
--> 正在检查事务
---> 软件包 policycoreutils-python.x86_64.0.2.5-34.el7 将被 安装
--> 正在处理依赖关系 policycoreutils = 2.5-34.el7,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
---> 软件包 selinux-policy.noarch.0.3.13.1-229.el7_6.6 将被 升级
---> 软件包 selinux-policy.noarch.0.3.13.1-268.el7_9.2 将被 更新
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.5-4.el7 将被 安装
--> 正在处理依赖关系 audit-libs(x86-64) = 2.8.5-4.el7,它被软件包 audit-libs-python-2.8.5-4.el7.x86_64 需要
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 policycoreutils.x86_64.0.2.5-29.el7 将被 升级
---> 软件包 policycoreutils.x86_64.0.2.5-34.el7 将被 更新
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 正在检查事务
---> 软件包 audit-libs.x86_64.0.2.8.4-4.el7 将被 升级
--> 正在处理依赖关系 audit-libs(x86-64) = 2.8.4-4.el7,它被软件包 audit-2.8.4-4.el7.x86_64 需要
---> 软件包 audit-libs.x86_64.0.2.8.5-4.el7 将被 更新
--> 正在检查事务
---> 软件包 audit.x86_64.0.2.8.4-4.el7 将被 升级
---> 软件包 audit.x86_64.0.2.8.5-4.el7 将被 更新
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================================================================================================================================== Package 架构 版本 源 大小
===================================================================================================================================================================================================================================正在安装:
k3s-selinux noarch 1.1-1.el7 rancher-k3s-common-stable 16 k
为依赖而安装:
audit-libs-python x86_64 2.8.5-4.el7 base 76 k
checkpolicy x86_64 2.5-8.el7 base 295 k
container-selinux noarch 2:2.119.2-1.911c772.el7_8 extras 40 k
libsemanage-python x86_64 2.5-14.el7 base 113 k
policycoreutils-python x86_64 2.5-34.el7 base 457 k
python-IPy noarch 0.75-6.el7 base 32 k
setools-libs x86_64 3.3.8-4.el7 base 620 k
为依赖而更新:
audit x86_64 2.8.5-4.el7 base 256 k
audit-libs x86_64 2.8.5-4.el7 base 102 k
policycoreutils x86_64 2.5-34.el7 base 917 k
selinux-policy noarch 3.13.1-268.el7_9.2 updates 498 k
selinux-policy-targeted noarch 3.13.1-268.el7_9.2 updates 7.0 M
事务概要
===================================================================================================================================================================================================================================安装 1 软件包 (+7 依赖软件包)
升级 ( 5 依赖软件包)
总下载量:10 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/13): audit-libs-2.8.5-4.el7.x86_64.rpm | 102 kB 00:00:00
(2/13): audit-2.8.5-4.el7.x86_64.rpm | 256 kB 00:00:01
(3/13): audit-libs-python-2.8.5-4.el7.x86_64.rpm | 76 kB 00:00:00
(4/13): libsemanage-python-2.5-14.el7.x86_64.rpm | 113 kB 00:00:00
(5/13): checkpolicy-2.5-8.el7.x86_64.rpm | 295 kB 00:00:00
(6/13): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm | 40 kB 00:00:00
warning: /var/cache/yum/x86_64/7/rancher-k3s-common-stable/packages/k3s-selinux-1.1-1.el7.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID e257814a: NOKEY ] 260 kB/s | 1.0 MB 00:00:36 ETA
k3s-selinux-1.1-1.el7.noarch.rpm 的公钥尚未安装
(7/13): k3s-selinux-1.1-1.el7.noarch.rpm | 16 kB 00:00:01
(8/13): policycoreutils-python-2.5-34.el7.x86_64.rpm | 457 kB 00:00:00
(9/13): python-IPy-0.75-6.el7.noarch.rpm | 32 kB 00:00:00
(10/13): policycoreutils-2.5-34.el7.x86_64.rpm | 917 kB 00:00:01
(11/13): selinux-policy-3.13.1-268.el7_9.2.noarch.rpm | 498 kB 00:00:01
(12/13): setools-libs-3.3.8-4.el7.x86_64.rpm | 620 kB 00:00:01
(13/13): selinux-policy-targeted-3.13.1-268.el7_9.2.noarch.rpm | 7.0 MB 00:00:13
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------总计 656 kB/s | 10 MB 00:00:16
从 https://rpm.rancher.io/public.key 检索密钥
导入 GPG key 0xE257814A:
用户ID : "Rancher (CI) <ci@rancher.com>"
指纹 : c8cf f216 4551 26e9 b9c9 18be 925e a29a e257 814a
来自 : https://rpm.rancher.io/public.key
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : audit-libs-2.8.5-4.el7.x86_64 1/18
正在更新 : policycoreutils-2.5-34.el7.x86_64 2/18
正在更新 : selinux-policy-3.13.1-268.el7_9.2.noarch 3/18
正在更新 : selinux-policy-targeted-3.13.1-268.el7_9.2.noarch 4/18
正在安装 : audit-libs-python-2.8.5-4.el7.x86_64 5/18
正在安装 : setools-libs-3.3.8-4.el7.x86_64 6/18
正在安装 : checkpolicy-2.5-8.el7.x86_64 7/18
正在安装 : python-IPy-0.75-6.el7.noarch 8/18
正在安装 : libsemanage-python-2.5-14.el7.x86_64 9/18
正在安装 : policycoreutils-python-2.5-34.el7.x86_64 10/18
正在安装 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 11/18
正在安装 : k3s-selinux-1.1-1.el7.noarch 12/18
正在更新 : audit-2.8.5-4.el7.x86_64 13/18
清理 : selinux-policy-targeted-3.13.1-229.el7_6.6.noarch 14/18
清理 : selinux-policy-3.13.1-229.el7_6.6.noarch 15/18
清理 : policycoreutils-2.5-29.el7.x86_64 16/18
清理 : audit-2.8.4-4.el7.x86_64 17/18
清理 : audit-libs-2.8.4-4.el7.x86_64 18/18
验证中 : audit-libs-2.8.5-4.el7.x86_64 1/18
验证中 : k3s-selinux-1.1-1.el7.noarch 2/18
验证中 : audit-2.8.5-4.el7.x86_64 3/18
验证中 : policycoreutils-2.5-34.el7.x86_64 4/18
验证中 : libsemanage-python-2.5-14.el7.x86_64 5/18
验证中 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 6/18
验证中 : python-IPy-0.75-6.el7.noarch 7/18
验证中 : checkpolicy-2.5-8.el7.x86_64 8/18
验证中 : policycoreutils-python-2.5-34.el7.x86_64 9/18
验证中 : selinux-policy-3.13.1-268.el7_9.2.noarch 10/18
验证中 : audit-libs-python-2.8.5-4.el7.x86_64 11/18
验证中 : selinux-policy-targeted-3.13.1-268.el7_9.2.noarch 12/18
验证中 : setools-libs-3.3.8-4.el7.x86_64 13/18
验证中 : selinux-policy-targeted-3.13.1-229.el7_6.6.noarch 14/18
验证中 : selinux-policy-3.13.1-229.el7_6.6.noarch 15/18
验证中 : audit-libs-2.8.4-4.el7.x86_64 16/18
验证中 : policycoreutils-2.5-29.el7.x86_64 17/18
验证中 : audit-2.8.4-4.el7.x86_64 18/18
已安装:
k3s-selinux.noarch 0:1.1-1.el7
作为依赖被安装:
audit-libs-python.x86_64 0:2.8.5-4.el7 checkpolicy.x86_64 0:2.5-8.el7 container-selinux.noarch 2:2.119.2-1.911c772.el7_8 libsemanage-python.x86_64 0:2.5-14.el7 policycoreutils-python.x86_64 0:2.5-34.el7
python-IPy.noarch 0:0.75-6.el7 setools-libs.x86_64 0:3.3.8-4.el7
作为依赖被升级:
audit.x86_64 0:2.8.5-4.el7 audit-libs.x86_64 0:2.8.5-4.el7 policycoreutils.x86_64 0:2.5-34.el7 selinux-policy.noarch 0:3.13.1-268.el7_9.2 selinux-policy-targeted.noarch 0:3.13.1-268.el7_9.2
完毕!
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s.service to /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s
[root@localhost ~]# k3s kubectl get node
NAME STATUS ROLES AGE VERSION
k3s-master Ready control-plane,master 34s v1.23.6+k3s1
3 K3s 使用篇
安装完成后,可以通过
kubectl
命令行工具来管理K3s
集群。以下是常用的一些命令:
- 查看集群状态:
kubectl get nodes
- 部署应用:
kubectl apply -f
- 查看应用状态:
kubectl get pods
- 重启应用:
kubectl delete pod
- 查看事件:
kubectl get events
- 在使用过程中,可以根据实际情况调整配置文件和参数,以满足特定的需求。例如,可以配置网络策略、调整存储后端参数等。同时,也可以使用第三方工具和服务来扩展K3s的功能,如监控、日志管理等。
Y 推荐文献
含 k8s的安装部署 / kubectl 组件的解读等内容
X 参考文献

本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!