K8S - K3S简介

Posted anliven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S - K3S简介相关的知识,希望对你有一定的参考价值。

K3S

K3s 是由 Rancher Labs 发布的一款开源、极轻量的Kubernetes 发行版,完美适用于在资源有限的环境中运行Kubernetes。

k3s 将安装 Kubernetes 所需的一切打包进一个小型二进制文件中,并且完全实现了 Kubernetes API。
可以在短时间内安装,并且通常不到 2 分钟的时间就能够启动一个带有几个节点的 k3s 集群,

为了减少运行 Kubernetes 所需的内存,Rancher 删除了很多不必要的驱动程序,并用附加组件对其进行替换。
只需要极低的资源就可以运行,目前能够在任何 512MB RAM 以上的设备上运行集群。

k3s 相对 k8s 裁剪了如下 5 个部分:

  • 过时的功能和非默认功能
  • Alpha 功能
  • 内置的云提供商插件
  • 内置的存储驱动
  • Docker

k3s软件包所需的依赖:

  • containerd
  • Flannel
  • CoreDNS
  • CNI
  • 主机系统服务 (iptables, socat, etc)

k3s是完全兼容的Kubernetes发行版,有以下更改

- 移除过时的功能、Alpha功能、非默认功能,这些功能在大多数Kubernetes集群中已不可用。
- 删除内置插件(比如云供应商插件和存储插件),可用外部插件程序替换。
- 添加SQLite3作为默认的数据存储。etcd3仍然可用,但并非默认项。
- 包含在一个简单的启动程序当中,可以处理复杂的TLS和其他选项。

k3s的使用场景:

  • Edge
  • IoT
  • CI
  • ARM

安装

k3s 相对 k8s 无需额外安装如下组件:

  • kubelet
  • kube-proxy
  • Docker
  • etcd
  • ingress

Manual Download: https://github.com/rancher/k3s#manual-download
下载k3s,保存到/usr/local/bin并设置可执行权限,

Download k3s from latest release, x86_64, armhf, and arm64 are supported.
Run server.
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}

k3s命令

# k3s help
NAME:
   k3s - Kubernetes, but small and simple

USAGE:
   k3s [global options] command [command options] [arguments...]

VERSION:
   v1.18.4+k3s1 (97b7a0e9)

COMMANDS:
   server        Run management server
   agent         Run node agent
   kubectl       Run kubectl
   crictl        Run crictl
   ctr           Run ctr
   check-config  Run config check
   help, h       Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug        Turn on debug logs [$K3S_DEBUG]
   --help, -h     show help
   --version, -v  print the version

辅助工具

K3sup: https://github.com/alexellis/k3sup
K3sup 是由 Alex Ellis 创建的一个开源项目,使得 k3s 的安装和 kubeconfig 文件的生成变得快速和方便。
能以极快的速度自动化安装 k3s、将 SAN 地址更新为公共 IP、下载 k3s 配置文件然后使用 VM 的公共 IP 地址将其更新,以便可以使用 kubectl 连接它。

参考信息






以上是关于K8S - K3S简介的主要内容,如果未能解决你的问题,请参考以下文章

k8s 测试环境搭建(k3s)

再战 k8s(十六):k3s

使用k3s减少k8s成本

最全实践 - Linux 安装 K8s (Local K3s、Minikube、K8s Cluster 等)

使用 k3s 在 Fedora IoT 上运行 K8S

2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?