01-K3S 课程介绍及K3s介绍
1 课程介绍
本教程是 K3s 的系列教程,会按照K3s 官网的目录顺序来针对 K3s 的每个功能做讲解和操作,以便大家更深入了解 K3s。
当 K3s 新版本发布时,会针对每个版本做详细的介绍。
2 K3s 介绍和功能
K3s - 轻量级 Kubernetes:
- CNCF 认证的 Kubernetes 发行版
- 支持
X86_64, ARM64, ARMv7
平台 - 单一进程包含 Kubernetes master,kubelet,和 containerd
K3s 的启动其实是依赖一个K3s的二进制文件,再结合K3s的安装脚本,可以快速把K3s集群启动起来。
K3s 是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化。K3s 有以下增强功能:
为你提供 k3s 的产品介绍
打包为单个二进制文件。
- 把 K8S 相关的组件,比如 kube-api / kube-manager / kube-scheduler 都打包到同一个二进制文件里面,这样的话,只需要启动这个文件就可以快速的启动对应的组件。
使用
基于 sqlite3 的轻量级存储后端作为默认存储机制
。- 同时支持使用 etcd3、MySQL 和 PostgreSQL 作为存储机制。
封装在简单的启动程序中,通过该启动程序处理很多复杂的 TLS 和选项。
默认情况下是安全的,对轻量级环境有合理的默认值。[ K3s证书默认是1年的有效期,K3s默认也有证书轮转的机制,再小于90天之内如果重启K3s就会自动轮转K3s证书 ]
- 在 K3s 中有一个默认的证书管理机制
(默认一年有效期)
,也有一个可以轮转证书的功能(就是在小于九十天之内重启 K3s 的话,就会自动续一年)。
- 在 K3s 中有一个默认的证书管理机制
添加了简单但功能强大的
batteries-included
功能,例如:本地存储提供程序,服务负载均衡器,Helm controller 和 Traefik Ingress controller。- 就是虽然有些服务本身这个二进制文件并没有提供,但是可以通过内置的服务,将配置文件放到指定的目录下面,就可以在启动的时候一并将该服务启动或替换默认组件。
所有 Kubernetes control-plane 组件的操作都封装在单个二进制文件和进程中,
- 因为封装在二进制文件中,所以启动的时候只有一个进程。好处在于只需要管理这个单一进程就可以了,同时使 K3s 具有自动化和管理包括证书分发在内的复杂集群操作的能力。
- 可以避免管理员像管理K8s一样需要管理多个组件以及多个进程
最大程度减轻了外部依赖性,K3s 仅需要
kernel
和cgroup
挂载[ 即稍新一点的 Linux 内核就可以了(需要 kernel 和 cgroup 挂载)。 ]。 K3s 软件包需要的依赖项包括:- Containerd [ 可以使用Docker作为容器运行时环境 ]
- Flannel
- CoreDNS
- CNI
- 主机实用程序(iptables、socat、etc 等)
- Ingress Controller(Traefik)[ 默认的controller服务(可以使用
apisix/ingress-controller
) ] - 嵌入式服务负载均衡器(service load balancer)
- 嵌入式网络策略控制器(network policy controller)
生命周期
- 同时支持 3 个 K8s 版本,支持的生命周期与 K8s 相同
- 可以参考: Kubernetes 版本及版本偏差支持策略 进行学习
更新周期
- 当 K8s 更新新版本后,一般 K3s 在一周内同步更新
- 可以通过 这个链接 获取
**latest/stable/testing**
版本 - 我们默认安装的是 stable 版本,可以运行通过命令进行查看
**latest/stable/testing**
: https://update.k3s.io/v1-release/channels
命名规范
- v1.20.4+k3s1: v1.20.4 为 K8s 版本,k3s1 为补丁版本
K3s 默认使用的容器运行时环境是 Containerd,可以使用Docker进行替换。
3 为什么叫 K3s
我们希望安装的 Kubernetes 在内存占用方面只是一半的大小。Kubernetes 是一个 10 个字母的单词,简写为 K8s。所以,有 Kubernetes 一半大的东西就是一个 5 个字母的单词,简写为 K3s。K3s 没有全称,也没有官方的发音。
之所以叫做 K3S 是因为希望安装的 K8S 在内存占用方面只是一半的大小,而一半大的东西就是一个 5 个字母的单词,简写为 K3S。
4 国内资源
中文官网文档:https://docs.rancher.cn/k3s
国内 K3s 资源:https://mirror.rancher.cn/
5 周边项目
k3os
- k3OS是一个完全基于Kubernetes管理的轻量级操作系统,能大大简化在低资源环境中的Kubernetes操作,快速安装,秒级启动。
k3d
- k3d创建容器化的 K3s 集群。这意味着,您可以使用Docker在单台计算机上启动多节点 K3s 集群。[ Docker in K3s ]
- 即 K3s 内置到容器中,可以在一台服务器上通过Docker启动多个 K3s 节点
autok3s
- AutoK3s 是用于简化 K3s 集群管理的轻量级工具,您可以使用 AutoK3s 在任何地方运行 K3s。[ Run K3s Everywhere ]
- 可以到云平台的服务器上使用 AutoK3s
octopus
- Octopus是用于 Kubernetes 和 k3s 的轻量级云原生设备管理系统,它不需要替换Kubernetes集群的任何基本组件。
- 部署octopus后,集群可以将边缘设备作为自定义 k8s 资源进行管理。
harvester
- Harvester 是基于 Kubernetes 构建的开源超融合基础架构(HCI)软件。它是
vSphere
和Nutanix
的开源替代方案。
- Harvester 是基于 Kubernetes 构建的开源超融合基础架构(HCI)软件。它是
6 适用场景
K3s 适用于以下场景:
- 边缘计算-Edge
- 物联网-IoT
- CI
- Development
- ARM
- 嵌入 K8s
- 不想深陷 K8s 运维管理的人
由于运行 K3s 所需的资源相对较少,所以 K3s 也适用于开发和测试场景。在这些场景中,如果开发或测试人员需要对某些功能进行验证,或对某些问题进行重现,那么使用 K3s 不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。
与此同时,Rancher 中国团队推出了一款针对 K3s 的效率提升工具:AutoK3s。只需要输入一行命令,即可快速创建 K3s 集群并添加指定数量的 master 节点和 worker 节点。如需详细了解 AutoK3s,请参考AutoK3s 功能介绍。
7 遇到问题怎么办?
- k3s github issue: https://github.com/k3s-io/k3s/issues
- 在此 repo 中创建 issue
- 中文论坛: https://forums.cnrancher.com/
- Rancher 社区
8 参考链接
[1] 文档教程
- K3s 中文文档 - 国外
- K3s 中文文档 - 国内
- K3s 国内镜像站 - 加速
- K3s 系列教程 - 官方制作
[2] 代码地址
- K3s 仓库地址 - Github
[3] 周边项目
- K3s 周边项目 - k3os
- 完全基于 K8S 管理的轻量级操作系统
- K3s 周边项目 - autok3s
- 用于简化 K3s 集群部署和管理的轻量级工具
- 即在阿里云和 aws 等云服务器上面部署 k3s
- K3s 周边项目 - k3d
- 可以在 k3d 创建容器化的 k3s 集群
- 可以使用容器在单台计算机上启动多节点 k3s 集群
- K3s 周边项目 - harvester
- 基于 K8S 构建的开源超融合基础架构(HCI)软件
- 旨在替换 vSphere 和 Nutanix 的开源替代方案
- K3s 周边项目 - octopus
- 主要用于边缘计算相关
- 用于 K8S 和 k3s 的轻量级云原生设备管理系统
- 集群可以将边缘设备作为自定义 k8s 资源进行管理
01-K3S 课程介绍及K3s介绍相关推荐
- MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- 01 Python学习--第一周--开课介绍、数据类型、数据运算、表达式、循环、三元运算、对象基本概念...
模块一主要内容 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 ...
- 6.支持向量机(SVM)、什么是SVM、支持向量机基本原理与思想、基本原理、课程中关于SVM介绍
6.支持向量机(SVM) 6.1.什么是SVM 6.2.支持向量机基本原理与思想 6.2.1.支持向量机 6.2.2.基本原理 6.3.课程中关于SVM介绍 6.支持向量机(SVM) 6.1.什么是S ...
- 【原理】#01红外热成像仪的工作原理介绍
红外热成像仪是电测中比较特殊的一种仪器设备,在温度测试领域有着广泛的应用. 红外热成像仪测温的原理是怎么样的?如何选择合适的热成像仪? 安泰小课堂将分两期视频为大家进行揭秘. 本期内容将重点讲解红外热 ...
- 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日
Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...
- 新浪微博新兵训练营系列课程——平台RPC框架介绍
新浪微博新兵训练营系列课程--平台RPC框架介绍 课程大纲 1.RPC简介 1.1 什么是RPC 1.2 RPC与其他远程调用方式比较 2.Motan RPC框架 2.1 RPC服务框架 2.2 Mo ...
- web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 规范 HTML结构详解 {前端之前端初识}...
前端之前端初识 前端初识 本节目录 一 web标准 二 浏览器介绍 三 开发工具介绍 四 HTML介绍 五 HTML颜色介绍 六 规范 七 HTML结构详解 一 web标准 web准备介绍: 1.w3 ...
- “请先做自我介绍”:高手都是这样做自我介绍,这样介绍最加分
"请先做自我介绍":高手都是这样做自我介绍,这样介绍最加分 [转载] 我是一个什么都喜欢准备好的人,如果不准备好,感觉自己心理会没有底,就是不打无准备的战. 记得有一次参加面试,我 ...
- HTML5期末大作业:关于家乡景点介绍主题——上海介绍(5页) HTML+CSS+JavaScript 大二实训HTML作业...
常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体育. 化妆品. 物流. 环保. 书籍. 婚纱. 军 ...
- 【K3S 一】部署K3S集群(单Master)
目录 K3S嵌入式组件及其版本 K3S工作架构拓扑 在线快速安装(Quick-Start - Install Script) 离线安装(Air-Gap Install) 高级配置 私有仓库配置 使用D ...
最新文章
- Uncode系列开源组件简介
- 网站 java php_做网站用java还是php
- 【计算机视觉】几个计算机视觉库
- Thymeleaf引用片段传入参数
- CF526G Spiders Evil Plan(树上最优性问题、倍增+线段树)
- python最大分词_中文分词算法之最大正向匹配算法(Python版)
- python 取整_马克的Python学习笔记#数字,日期和时间
- 浙大 PAT a1058
- 【莫比乌斯反演】[HYSBZ/BZOJ2693]jzptab
- GIT在Linux上的安装和使用简介
- Oracle 异常处理函数SQLCODE和SQLERRM
- 基于MATLAB的GUI界面设计流程
- Android中什么是Dex文件
- 神经网络训练的一些方法
- 自己组装电脑后怎么装Win10系统教学
- 纯CSS实现数据上报和HTML验证
- android三星s8底部菜单,三星Galaxy S8/S8+国行获更新:导航栏可隐藏/视野更宽阔
- ubuntu打开摄像头测试
- linux 设置文件为可修改密码,linux 为用户设定、修改密码 passwd
- 深入理解Java虚拟机(周志明版)总结—WSYW126