大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s

大规模,iot,边缘,容器,集群,管理,几种,架构,rancher,k3s · 浏览次数 : 300

小编点评

## Summary of the article about large-scale IoT Edge Container Cluster Management Solutions The article offers a detailed comparison of several containerized cluster management solutions for large-scale IoT edge computing. **Here's a summary of the main points:** **1. Introduction:** * The article highlights the challenges of managing containerized applications at the edge. * It introduces the concept of Edge Computing and the importance of containerization for achieving it. **2. Traditional Cluster Management Solutions:** * Rancher + K3s: A popular combination offering Kubernetes control and high performance. * K3s alone: A Kubernetes distribution designed for edge computing, offering a lightweight footprint. **3. Cloud-native solutions:** * Nomad: An open-source container registry and manager specifically built for edge computing. * Portainer: An open-source tool for managing containerized applications at scale. * Kubeedge: A Kubernetes distribution designed for edge computing, offering a comprehensive set of features. **4. Comparison of Different Solutions:** | Feature | Rancher + K3s | K3s | Nomad | Portainer | Kubeedge | |---|---|---|---|---|---| | Architecture | Kubernetes | Kubernetes | Container registry | Container registry | Kubernetes | | Size | Large | Small | Small | Medium | Large | | Cost | High | Medium | Medium | Medium | High | | Performance | High | Medium | Medium | Medium | High | | Ease of use | High | Medium | High | Medium | High | | Open-source | No | Yes | Yes | No | Yes | **5. Advantages and Disadvantages of Each Solution:** * **Rancher + K3s:** Ideal for large deployments, offers flexibility and control. * **K3s:** Provides better performance and resource efficiency for edge environments. * **Nomad:** Highly performant and scalable, suitable for mission-critical applications. * **Portainer:** Simple and efficient to set up, but may have limited feature set. * **Kubeedge:** Feature-rich and comprehensive, but requires additional setup and configuration. **6. Conclusion:** * The article recommends using K3s for edge container management due to its performance and resource efficiency. * However, for specific edge scenarios, Rancher + K3s or Nomad might be better choices. * The article provides valuable insights and comparisons to help you choose the most suitable solution for your needs.

正文

前文回顾

大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介

📚️Reference:
IoT 边缘计算系列文章

Rancher + K3s

Rancher

K3s

简介

Rancher 首页

  • Rancher: Kubernetes 统一管理平台, Rancher 是为采用容器的团队提供的一个完整的软件栈。它解决了管理多个 Kubernetes 集群的操作和安全挑战,同时为 DevOps 团队提供了运行容器化工作负载的集成工具。
  • K3s: 完美适配边缘, K3s 是一个高可用的、经过认证的 Kubernetes 发行版,设计用于无人值守、资源受限的远程地点或物联网设备内的生产工作负载。K3s 被打包成一个<60MB的二进制文件,减少了安装、运行和自动更新一个生产型 Kubernetes 集群所需的依赖性和步骤。ARM64 和 ARMv7 都被支持,二进制文件和多架构镜像都可以使用。K3s 在小到 Raspberry Pi,大到 AWS a1.4xlarge 32GiB 服务器上都能很好地工作。

参考架构

Rancher + K3s 边缘容器管理架构

Rancher + K3s 边缘容器管理架构 2

此方案借助 Kubernetes 的生态,并且 100%开源,无锁定,方便插件扩展,也提供了 UI 入口以提供良好的用户体验。 并且核心完全是基于 Kubernetes, 具备非常好的群众基础。

  • “云”中部署一套 Rancher 集群,Rancher 负责管理下属所有的“边”中的 K3s 集群,Rancher 集群中同时可以部署云端的业务应用,负责和边缘侧业务系统同步, 以及下发数据或指令。
  • “边”设备中安装轻量化操作系统 MicroOS(一种不可变 OS,在本文不是重点,不展开),以及 K3s,K3s 中部署“边”的业务应用,供“端”连接使用。
  • “端”作为业务应用的最边缘端,通过网络连接“边”,完成业务组网,形成以“边”为中心的业务应用。

方案优点

  • 云边协同: 云侧 Rancher 与边缘侧 K3s 集群之间网络(通过 rancher-cluster-agent 建立 websocket 隧道)连通时 ,可通过 Rancher 管理下属所有的 K3S 集群,如观测各个 K3s 集群运行状态,其上业务应用运状态等; 同 时 Rancher 所在集群中部署的云端业务应用可向边缘侧业务应用下发数据或指令 。
  • 边缘自治: 无论网络如何,边缘侧 K3s 集群均可以自行运行(就是一套精简的 K8s), 无需依赖云端 Rancher, 实现运行环境的边缘自治;其上运行的边缘侧业务应用如果不依赖云端应用即可正常运行,则可以做到业务的边缘自治。
  • 轻量化 K8s: 使用轻量化的 K8s 解决方案 K3s 作为运行环境,可在硬件资源紧张的情况下提供基于 K8s 的容器服务,使业务享受 K8s 的技术红利。
  • 100%开源: 100%开源,无锁定
  • 原生 Kubernetes 生态: 借助完全兼容 Kubernetes 的生态,方便插件扩展,且开箱即用提供了:flannel, load balancer service, Traefik, coredns...
  • UI 精美: 提供了 UI 入口以提供良好的用户体验
  • GitOps: Rancher 默认集成 GitOps 工具 - Fleet, 提供 GitOps 自动化体验。
  • 运维简单: Rancher 和 K3s 文档齐全,提供很多方便的运维自动化工具。
  • 完整的企业功能: 如:认证、鉴权、单点登录、API...

方案缺点

  • K3s 相比纯容器占用资源还是略多
  • rancher-cluster-agent 占用资源较多: 在我的使用经验中,该 agent 可能占用 > 1G 内存的资源,这在边端是难以承受的。
  • 网络复杂且较弱: K3s CNI 默认是 flannel, 对于边缘复杂的网络情况没有做进一步的优化和适配。如果边是 K3s Server, 端是 K3s Agent, 边端网络也不稳定,对于这种情况 K3s 基于原生 K8s 网络的能力是无法做到很好应对的。相比 Kubeedge, 边缘网络适配能力弱;相比纯容器方案,flannel/load balancer service, Traefik, coredns 等又较为复杂。

继续阅读

  1. 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad
  2. 大规模 IoT 边缘容器集群管理的几种架构-3-Portainer
  3. 大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge
  4. 大规模 IoT 边缘容器集群管理的几种架构-5-总结

参考文档

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

与大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s相似的内容:

大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 📚️Reference: IoT 边缘计算系列文章 Rancher + K3s 简介 Rancher: Kubernetes 统一管理平台, Rancher 是为采用容器的团队提供的一个完整的软件栈。它解决了管理多个 K

大规模 IoT 边缘容器集群管理的几种架构-6-个人体验及推荐

## 前文回顾 1. [大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介](https://ewhisper.cn/posts/10785/) 2. [大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s](https://ewhisper.cn/posts/32

大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 📚️Reference: IoT 边缘计算系列文章 HashiCorp 解决方案 - Nomad + Docker 简介 Nomad: 一个简单而灵

大规模 IoT 边缘容器集群管理的几种架构-3-Portainer

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad 大规模 IoT 边缘容器集群管理的几种架构-3-Portai

大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad 大规模 IoT 边缘容器集群管理的几种架构-3-Portai

大规模 IoT 边缘容器集群管理的几种架构-5-总结

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad 大规模 IoT 边缘容器集群管理的几种架构-3-Portai

大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介

📚️Reference: IoT 边缘计算系列文章 什么是边缘容器? 边缘容器的概念 边缘容器是分散的计算资源,尽可能靠近最终用户或设备,以减少延迟、节省带宽并增强整体数字体验。 可以访问互联网的设备数量每天都在增加。有包括但不限于: 智能电视 智能家居 智能手机 智能汽车 物联网 IoT 创造的

3层结构+7大特点,带你认识华为云IoTEdge

摘要:华为云IoTEdge三层架构联合打造的IoT边缘平台功能,持续为更多企业和开发者带来价值。 本文分享自华为云社区《【华为云IoTEdge学习笔记】华为云IoT边缘功能特点及价值》,作者:华为IoT云服务 。 IoT边缘是一组软件产品,包含云服务、边缘运行时软件、边缘模块应用,将云端能力快速拓展

[转帖][译] 大规模微服务利器:eBPF + Kubernetes(KubeCon, 2020)

http://arthurchiao.art/blog/ebpf-and-k8s-zh/ Published at 2020-09-06 | Last Update 2021-02-21 译者序 本文翻译自 2020 年 Daniel Borkmann 在 KubeCon 的一篇分享: eBPF a

[转帖][译] 大规模微服务利器:eBPF + Kubernetes(KubeCon, 2020)

http://arthurchiao.art/blog/ebpf-and-k8s-zh/ Published at 2020-09-06 | Last Update 2021-02-21 译者序 本文翻译自 2020 年 Daniel Borkmann 在 KubeCon 的一篇分享: eBPF a