一、k3s介绍
1.1 什么是k3s?
k3s 是经过 CNCF 认证的由 Rancher 公司开发维护的一个轻量级的 Kubernetes 发行版,内核机制还是和 k8s 一样,但是剔除了很多外部依赖以及 K8s 的 alpha、beta 特性,同时改变了部署方式和运行方式,目的是轻量化K8s,消耗资源极少。它主要用于边缘计算、物联网等场景。
K3s 具有以下特点:
1、安装简单,占用资源少,只需要 512M 内存就可以运行起来;
2、apiserver 、schedule 等组件全部简化,并以进程的形式运行在节点上,把程序都打包为单个二进制文件,每个程序只需要占用 100M 内存;
3、使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 PostgreSQL 作为存储机制;
4、默认使用 local-path-provisioner 提供本地存储卷;
5、默认安装了 Helm controller 和 Traefik Ingress controller;
6、所有 Kubernetes control-plane 组件的操作都封装在单个二进制文件和进程中,使 K3s 具有自动化和管理包括证书分发在内的复杂集群操作的能力。
7、减少外部依赖,操作系统只需要安装较新的内核(centos7.6 就可以,不需要升级内核)以及支持 cgroup 即可,k3s 安装包已经包含了 containerd、Flannel、CoreDNS,非常方便地一键式安装,不需要额外安装 Docker、Flannel 等组件。
1.2 为什么叫k3s?
我们希望安装的 Kubernetes 在内存占用方面只是原来一半的大小。Kubernetes 是一个 10 个字母的单 词,简写为 k8s,所以, Kubernetes 一半大的东西就是有 5 个字母的单词,简写为 K3S。K3S 没有全称,也没有官方的发音。
K3s 适用于以下场景:
1、边缘计算-Edge
2、物联网-IoT
3、CI:持续集成
4、开发
5、ARM 6、嵌入 K8s
由于运行 K3s 所需的资源相对较少,所以 K3s 也适用于开发和测试场景。在这些场景中,如果开发或测试人员需要对某些功能进行验证,或对某些问题进行重现,那么使用 K3s 不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。与此同时,Rancher 中国团队推出了一款针对 K3s 的效率提升工 具:AutoK3s。只需要输入一行命令,即可快速创建 K3s 集群并添加指定数量的 master 节点和 worker 节点。
二、安装k3s
2.1 安装基础环境
首先安装Docker,后面需要使用Docker 来安装AutoK3s 和Kuboard
apt install docker.io
使用ssh连接到2台服务器,进入需要设置master节点的服务器中然后执行docker命令启动一个autok3s的容器
docker run -itd --restart=unless-stopped -p 8080:8080 cnrancher/autok3s:v0.5.2
接着安装k3s的管理界面 Kuboard ,文档参见 https://kuboard.cn/install/v3/install-built-in.html#%E5%AE%89%E8%A3%85
docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 8088:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://193.112.52.144:8088" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3
然后访问ip:8088 我们可以看到kuboard的界面
默认账号:admin
默认密码:Kuboard123
2.2 使用autok3s 创建k3s集群
容器启动完成以后访问服务器 ip:8080 然后点击Core/Clusters
选择Native 创建一个集群。安装的基本参数设置 设置master节点ip 设置node节点ip 2台服务器密码需要一致,等待k3s安装部署完成 需要一段时间。
autok3s create --provider native --docker-script https://get.docker.com --k3s-channel stable --k3s-install-mirror INSTALL_K3S_MIRROR=cn --k3s-install-script https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh --name iotk3s --ssh-password xxxxxxxx --ssh-port 22 --ssh-user root --master-ips 10.1.0.15 --worker-ips 10.1.0.10 --registry /home/ubuntu/registry-config
三、使用Kuboard 管理k3s 集群
登录成功进入Kuboard 界面 , 点击Kubernetes的添加集群
找到master节点下的k3s配置,路径 /etc/rancher/k3s/k3s.yaml ,最简单的就是通过Autok3s 的界面上的Download kubeconfig
修改内部的server ip为master节点的ip
将其复制到 KubeConfig 里面 填写名称和描述 然后点击确定
点击确认以后进入这个界面 然后选择kuboard-admin 再点击集群概要,怎样就导入了集群