Platform - K3s

K3S

K3s 是由 Rancher Labs 发布的一款开源、极轻量的Kubernetes 发行版,通过了CNCF一致性认证,适用于在资源有限的环境中运行Kubernetes。
K3s主要用于部署在资源受限的边缘计算场景中,也可以在本地运行以进行Kubernetes测试或开发。
K3s是为生产环境设计的,因此在PC或笔记本电脑上,K3s是与生产级服务器最接近的选项。

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

如何利用K3s在本地设备上创建一个微型Kubernetes集群?
https://rancher.com/docs/k3s/latest/en/installation/install-options/

  1. 使用VMware、VirtualBox或KVM等平台在本地系统上至少创建两个VM
  2. 在其中一个VM上安装并配置K3s server,在其他VM上安装并配置K3s agent。

辅助工具

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

Rancher

Rancher良好的用户体验基于Kubernetes,可以帮助用户快速实现Kubernetes,充分利用Kubernetes的强大力量。
相比Kubernetes,Rancher提供了一个易用的容器管理平台,简化了安装和维护,降低了学习和使用难度。
简而言之,Rancher就是一款提供Kubernetes-as-a-Service.的开源软件。
Rancher为DevOps团队提供了运行容器化工作负载的管理工具,包含简单的CICD功能,可以在项目中创建Pipeline来实现持续集成。

参考信息

posted @ 2020-07-09 23:43  Anliven  阅读(8772)  评论(0编辑  收藏  举报