轻量级Kubernetes-K3S简介入门

1. K3S简介

k3s即轻量级Kubernetes发行版。易于安装,内存减半,所有二进制文件不到40mb。k3s是完全兼容的Kubernetes发行版,有以下更改:

  • 移除过时的功能、Alpha功能、非默认功能,这些功能在大多数Kubernetes集群中已不可用。
  • 删除内置插件(比如云供应商插件和存储插件),可用外部插件程序替换。
  • 添加SQLite3作为默认的数据存储。etcd3仍然可用,但并非默认项。
  • 包含在一个简单的启动程序当中,可以处理复杂的TLS和其他选项。
  • 几乎没有操作系统依赖性(仅需要健全的内核和cgroup挂载)。k3s软件包所需的依赖:containerd、Flannel、CoreDNS、CNI及主机系统服务 (iptables, socat, etc)。

2. K3S架构

server节点被定义为运行k3s server命令的主机(裸机或虚拟机)。worker节点被定义为运行k3s agent命令的主机。

2.1. 具有嵌入式数据库的单server架构

下图展示了一个单server集群示例,该集群具有带嵌入式SQLite数据库的单节点K3s server。在此架构中,每个worker节点都注册到同一个server节点,K3s用户可以通过在server节点上调用K3s API来操作Kubernetes资源。
在这里插入图片描述

2.2. 具有外部数据库的高可用K3s server架构

单个server集群已经可以满足各种使用需求,但是对于重要的环境,需要k3s集群的长时间正常运行,您需要以HA配置运行K3s。HA K3s集群包括:两个或更多server节点;一个外部数据存储。
在这里插入图片描述

3.快速入门

快速入门的目的是快速启动可用于demo的k3S集群,不适用于生产环境。生产环境应利用高可用安装解决方案,访问安装了解更详细k3s安装设置。Kubernetes的新手?Kubernetes官方文档已经有一些很棒的教程,访问这里学习基础知识。
k3s install.sh脚本提供了一种便利的方式来安装到systemd或openrc,将k3s作为服务进行安装:

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

国内用户,可以使用以下方法加速安装:

curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

运行安装后:

  1. 将在/etc/rancher/k3s/k3s.yaml中保存kubeconfig配置文件;
  2. k3s service将被配置为在节点重新启动后或进程崩溃或终止时自动启动;
  3. 安装脚本将安装k3s和额外的实用程序,如kubectl,crictl,ctr,k3s-killall.sh,和k3s-uninstall.sh。

如果要在agent节点上安装并将它们添加到现有集群中,应该传递环境变量K3S_URL,并且还需要同时传递K3S_TOKEN或者K3S_CLUSTER_SECRET。K3S_TOKEN创建在/var/lib/rancher/k3s/server/node-token。
以下是如何添加worker节点的示例:

curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -

国内用户,可以使用以下方法加速安装:

curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -

每台主机必须具有唯一的主机名。如果您的主机没有唯一的主机名,请传递K3S_NODE_NAME环境变量,为每个主机提供一个唯一有效的主机名。
K3S官方文档:https://docs.rancher.cn/k3s/#_1-what-is-this

发布了118 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43792385/article/details/104613119