【K3s】第1篇 K3s入门级介绍及架构详解

这篇具有很好参考价值的文章主要介绍了【K3s】第1篇 K3s入门级介绍及架构详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

https://docs.k3s.io/zh/architecture

1、什么是 K3s?

K3s 是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化。K3s 有以下增强功能:

  • 打包为单个二进制文件。
  • 使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 PostgreSQL 作为存储机制。
  • 封装在简单的启动程序中,通过该启动程序处理很多复杂的 TLS 和选项。
  • 默认情况下是安全的,对轻量级环境有合理的默认值。
  • 添加了简单但功能强大的batteries-included功能,例如:本地存储提供程序,服务负载均衡器,Helm controller 和 Traefik Ingress controller。
  • 所有 Kubernetes control-plane 组件的操作都封装在单个二进制文件和进程中,使 K3s 具有自动化和管理包括证书分发在内的复杂集群操作的能力。
  • 最大程度减轻了外部依赖性,K3s 仅需要 kernel 和 cgroup 挂载。 K3s 软件包需要的依赖项包括:

containerd
Flannel
CoreDNS
CNI
主机实用程序(iptables、socat 等)
Ingress controller(Traefik)
嵌入式服务负载均衡器(service load balancer)
嵌入式网络策略控制器(network policy controller)

2、为什么叫 K3s?

我们希望安装的 Kubernetes 在内存占用方面只是一半的大小。Kubernetes 是一个 10 个字母的单词,简写为 K8s。所以,有 Kubernetes 一半大的东西就是一个 5 个字母的单词,简写为 K3s。K3s 没有全称,也没有官方的发音。

3、适用场景

K3s 适用于以下场景:

边缘计算-Edge
物联网-IoT
CI
Development
ARM
嵌入 K8s

由于运行 K3s 所需的资源相对较少,所以 K3s 也适用于开发和测试场景。在这些场景中,如果开发或测试人员需要对某些功能进行验证,或对某些问题进行重现,那么使用 K3s 不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。与此同时,Rancher 中国团队推出了一款针对 K3s 的效率提升工具:AutoK3s。只需要输入一行命令,即可快速创建 K3s 集群并添加指定数量的 master 节点和 worker 节点。

4、架构详解

K3s server 是运行k3s server命令的机器(裸机或虚拟机),而 K3s worker 节点是运行k3s agent命令的机器。

单节点架构

K3s 单节点集群的架构如下图所示,该集群有一个内嵌 SQLite 数据库的单节点 K3s server。

在这种配置中,每个 agent 节点都注册到同一个 server 节点。K3s 用户可以通过调用 server 节点上的 K3s API 来操作 Kubernetes 资源。

单节点k3s server的架构:
【K3s】第1篇 K3s入门级介绍及架构详解

高可用架构

虽然单节点 k3s 集群可以满足各种用例,但对于 Kubernetes control-plane 的正常运行至关重要的环境,您可以在高可用配置中运行 K3s。一个高可用 K3s 集群由以下几个部分组成:

  • K3s Server 节点:两个或更多的server节点将为 Kubernetes API 提供服务并运行其他 control-plane 服务
  • 外部数据库:与单节点 k3s 设置中使用的嵌入式 SQLite 数据存储相反,高可用 K3s 需要挂载一个external database外部数据库作【K3s】第1篇 K3s入门级介绍及架构详解
    为数据存储的媒介。

固定 agent 节点的注册地址

在高可用 K3s server 配置中,每个节点还必须使用固定的注册地址向 Kubernetes API 注册,注册后,agent 节点直接与其中一个 server 节点建立连接,如下图所示:
【K3s】第1篇 K3s入门级介绍及架构详解

注册 Agent 节点

Agent 节点用k3s agent进程发起的 websocket 连接注册,连接由作为代理进程一部分运行的客户端负载均衡器维护。

Agent 将使用节点集群 secret 以及随机生成的节点密码向 k3s server 注册,密码存储在 /etc/rancher/node/password路径下。K3s server 将把各个节点的密码存储为 Kubernetes secrets,随后的任何尝试都必须使用相同的密码。节点密码秘密存储在kube-system命名空间中,名称使用模板.node-password.k3s。文章来源地址https://www.toymoban.com/news/detail-425982.html

到了这里,关于【K3s】第1篇 K3s入门级介绍及架构详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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日
    浏览(30)
  • 解决安装了k3s以后80和443端口被占用的问题

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

    2024年02月11日
    浏览(27)
  • K3s vs K8s:轻量级对决 - 探索替代方案

    在当今云原生应用的领域中,Kubernetes(简称K8s)已经成为了无可争议的领导者。然而,随着应用规模的不断增长,一些开发者和运维人员开始感受到了K8s的重量级特性所带来的挑战。为了解决这一问题,一个名为K3s的新兴项目逐渐崭露头角。K3s被誉为轻量级的Kubernetes,它旨

    2024年02月14日
    浏览(30)
  • Minikube vs. kind vs. k3s vs k3d vs MicroK8s

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

    2024年01月16日
    浏览(42)
  • 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)
  • 玩转 PI 系列-如何在 Rockchip Arm 开发板上安装 Docker Tailscale K3s Cilium?

    618 买了几个便宜的 Purple PI OH 开发板 (500 块多一点买了 3 个🤑), 这个开发板类似树莓派,是基于 Rockchip(瑞芯微) 的 rx3566 arm64 芯片。如下: 买来是用作家庭服务器或家庭实验室的。主要考虑就是: 便宜 可玩性高 功耗低 散热小,运行安静 Arm64 现在生态还凑活 其配置如下

    2024年02月17日
    浏览(96)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包