一、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 再點擊集群概要,怎樣就導入了集群