k3s 指引

k3s 简介

2019 年 2 月 26 日,业界领先的容器管理软件提供商 Rancher Labs(以下简称 Rancher)宣布推出轻量级 Kubernetes 发行版 k3s,这款产品专为在资源有限的环境中运行 Kubernetes 的研发和运维人员设计。

介绍与由来

什么是 k3s?

k3s 是一个完全符合标准的生产级 Kubernetes 发行版,同时也是史上最轻量的 k8s 发行版,它满足了在边缘计算环境中运行在 x86、ARM64 和 ARMv7 处理器上的小型、易于管理的 Kubernetes 集群日益增长的需求。它相对于以前的版本而言,主要具有以下的变化:

  1. 删除旧的、非必须的代码来使其更加轻便:这些功能在大多数的 Kubernetes 集群中也是不可用的。
  2. 删除了可以用树外插件替换的树内插件(云提供程序和存储插件)
  3. 增加了 sqlite3 作为其默认的存储引擎
  4. 包装了一个简单的启动器来处理一系列 TLS 的复杂难懂的选项
  5. 提供了更加简单的安装部署的方式
  6. 使用 containerd 代替 Docker 作为运行时的容器引擎

为什么要使用 k3s?

k3s 对 Edge、Iot、CI、ARM 设备的支持十分友好。k3s 可以从分发挥这些设备的性能。

  1. 充分利用了 ARM,并且对 ARM 进行了优化
    ARM64 和 ARMv7 都支持二进制文件和多树图像。k3s 可以在像 Raspberry Pi 一样小的东西或者像 AWS a1.4xlarge 32GiB 一样大的服务器良好工作。

  2. 简化了操作和提高了系统安全性

    k3s 被包装在一个简单的包中,为了简化安装的步骤,k3s 将安装所需要的资源都打包在单个二进制文件中。这使得环境的安装与升级格外简单。

    k3s 自动生成 TLS 证书可以确保在默认情况下的通信都是安全的。

  3. 良好的边缘处理
    k3s 是专门为边缘计算环境设计的,所以在无人值守、资源受限、远程位置或者物联网设备在工作负载的情况下,k3s 将成为你的不二选择。

k3s 提供的主要功能

  1. 生产级 Kubernetes:k3s 是一个经过官方认证的 Kubernetes 发行版
  2. 没有主机依赖的二进制文件:k3s 把在任何设备上安装 Kubernetes 所需的一切都包含在这一个 40MB 的二进制文件当中,只需要一个命令即可快速配置或者升级单节点的 K3s 集群。
  3. 简单的向集群中添加任意节点:节点和服务器键的通信靠安全的 token 来实现
  4. 自动生成证书:集群启动时,在 Kubernetes 主服务器和节点之间建立 TLS 所需的所有证书都会被自动创建,还会自动创建服务账号的加密密钥。
k3s 的工作原理图

安装使用 k3s 服务的最低系统要求:

Linux 的版本在 3.10 以上
每台服务器上至少要有 512MB 的内存空间
集群中每个节点上必须要有 75MB 的内存空间
硬盘中可用的存储空间必须大于 200 MB
支持 x86_64, ARMv7, and ARM64 平台

适用场景

据本人了解, k3s 最初始的出发点是项目投标时, poc 的环境搭建, 鉴于完整的 k8s 搭建过于繁琐以及麻烦, 所以才推出 k3s 的精简 kubernetes 便于演示.

所以, 目前推荐使用的场景分几种:

  • 大型项目投标时, poc 演示
  • 个人或小团队环境搭建
  • 边缘计算
  • 嵌入式设备等
文章目录
  1. k3s 简介
    1. 介绍与由来
      1. 什么是 k3s?
      2. 为什么要使用 k3s?
      3. k3s 提供的主要功能
        1. k3s 的工作原理图
        2. 安装使用 k3s 服务的最低系统要求:
    2. 适用场景