k3s 是Rancher Labs (知名开源组织) 发布的k8s的一个精简发行版本,内核是k8s,外设是经过魔改的,完全兼容k8s 标准资源定义。

相当于debian之与linux,ubuntu之与liinux。

k3s 官网地址:

k3s 英文文档:

k3s 中文文档:

一、k3s定义:

K3s - 轻量级 Kubernetes
轻量级 Kubernetes。生产就绪,易于安装,内存减半,全部在小于 100 MB 的二进制文件中。
非常适合:

  • 边缘计算
  • 物联网
  • CI持续集成
  • 开发
  • arm
  • 嵌入式 k8s
  • k8s集群适用的情况
    在这里插入图片描述

为什么推荐使用 K3s ?

  • 完美的边缘
    K3s 是一个高度可用、经过认证的 Kubernetes 发行版,专为无人值守、资源受限、远程位置或物联网设备内部的生产工作负载而设计。

  • 简化和安全
    K3s 打包为一个 <50MB 的二进制文件,减少了安装、运行和自动更新生产 Kubernetes 集群所需的依赖项和步骤。

  • 针对 ARM 进行了优化
    ARM64 和 ARMv7 都支持二进制文件和多架构映像。K3s 从小到 Raspberry Pi 到 AWS a1.4xlarge 32GiB 服务器都可以很好地工作。

k3s 组件结构:
在这里插入图片描述

k3s server 相当于k8s 的master node
k3s agent 相当于k8s 的worker node

k3s 默认使用内嵌的flannel网络插件,k8s需要手工安装网络插件。
k3s 工作节点与调度节点之间通讯需要tunnel proxy代理,k8s 的工作节点上面的Kubelet与master node上面的rest api 直接通讯。

二、安装k3s:

1 install.sh script安装:

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

2 预编译二进制安装:

  1. 点击此处下载K3s-最新版本 支持x86_64, ARMv7, ARM64

  2. 运行服务器

sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get nodes

# On a different node run the below. NODE_TOKEN comes from
# /var/lib/rancher/k3s/server/node-token on your server
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}

3)源码编译安装:

root@jack-VirtualBox:~/k8s/k3s-master# ll k3s
-rwxr-xr-x 1 root root 300092096 417 14:35 k3s*
root@jack-VirtualBox:~/k8s/k3s-master#
root@jack-VirtualBox:~/k8s/k3s-master# ./k3s --version
k3s version dev (HEAD)
go version go1.18.1
root@jack-VirtualBox:~/k8s/k3s-master# 

三、源码结构分析:

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐