作者簡(jiǎn)介
鞠宏超会宪,SUSE SW Engineering上祈, 6 年云計(jì)算領(lǐng)域經(jīng)驗(yàn),先后參與了 Longhorn 產(chǎn)品研發(fā)浪藻、Rancher2.x 產(chǎn)品研發(fā)捐迫,目前主要致力于 Rancher 企業(yè)版產(chǎn)品設(shè)計(jì)與研發(fā)工作,AutoK3s 的核心維護(hù)者爱葵。
AutoK3s 是一款 K3s 集群自動(dòng)化部署工具施戴,可以方便開(kāi)發(fā)者自助管理多云環(huán)境中的 K3s 集群。之前的版本支持了 AWS/Aliyun/Tencent/Google 四個(gè)主流公有云萌丈,同時(shí)可以幫助開(kāi)發(fā)者管理本地 K3d 集群赞哗。
最新的 v0.4.8 版本特性預(yù)覽:
- 支持 Harvester Provider,用戶可以在 Harvester 上快速創(chuàng)建虛擬機(jī)辆雾,并自動(dòng)搭建 K3s 集群肪笋。
- 支持 Google Provider,用戶可以在 GCE 上快速創(chuàng)建虛擬機(jī),并自動(dòng)搭建 K3s 集群藤乙,同時(shí)支持自動(dòng)部署 Google K8s Cloud Provider(CCM)猜揪。
- 增強(qiáng) Native Provider 特性,用戶現(xiàn)在可以在 UI 上管理和維護(hù) Native 模式創(chuàng)建的 K3s 集群坛梁。
本文將基于最新的 v0.4.8 版本而姐,為大家介紹如何實(shí)現(xiàn) AutoK3s 與 Harvester 的夢(mèng)幻聯(lián)動(dòng)。
本文所使用的環(huán)境版本信息:
PS:如果您還未搭建過(guò) Harvester 集群划咐,可以查看 Harvester 的相關(guān)介紹或訪問(wèn) Harvester 中文文檔:http://docs.rancher.cn/harvester1.0/
一鍵啟動(dòng)
如果您是 Linux 或者 MacOS 用戶拴念,可以使用以下腳本安裝 AutoK3s,并啟動(dòng) UI Portal:
$ curl -sS http://rancher-mirror.cnrancher.com/autok3s/install.sh | INSTALL_AUTOK3S_MIRROR=cn sh
$ autok3s serve
或者使用 Docker 一鍵啟動(dòng) UI Portal:
# 標(biāo)準(zhǔn)Linux環(huán)境褐缠,使用以下命令
$ docker run -itd --restart=unless-stopped --net=host -v /var/run/docker.sock:/var/run/docker.sock cnrancher/autok3s:v0.4.7
# MacOS環(huán)境政鼠,使用以下命令
$ docker run -itd --restart=unless-stopped -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock cnrancher/autok3s:v0.4.7
服務(wù)啟動(dòng)后,打開(kāi)瀏覽器队魏,輸入地址(http://127.0.0.1:8080)公般,訪問(wèn) UI。
創(chuàng)建集群
在使用之前器躏,我們需要提前搭建好一個(gè) Harvester 集群俐载,并且準(zhǔn)備好可以訪問(wèn)這個(gè)集群的 Kubeconfig 文件(需要 cluster-admin 權(quán)限)。如果你有多套 Harvester 集群登失,AutoK3s 可以根據(jù) Kubeconfig 配置切換在不同 Harvester 集群聯(lián)動(dòng)的效果遏佣。
以 Rancher v2.6.3 為例,使用管理員用戶登錄后揽浙,點(diǎn)擊左上角菜單状婶,選擇全局應(yīng)用 > 虛擬化管理,選擇要操作的某個(gè) Harvester 集群馅巷,點(diǎn)擊右側(cè)下拉按鈕膛虫,獲取 Kubeconfig:
接下來(lái),我們將要在 UI 上使用 Harvester Provider钓猬,通過(guò) Kubeconfig 配置指定我們要操作的 Harvester 集群稍刀,并在這個(gè) Harvester 集群上創(chuàng)建兩個(gè)虛擬機(jī),并自動(dòng)啟動(dòng)由 1 個(gè) master 和 1 個(gè) worker 節(jié)點(diǎn)組成的 K3s 集群敞曹。
集群配置信息如下:
- Instance Options 中账月,我們?cè)O(shè)置 2C/4G/40G 大小的虛擬機(jī),Image Name 設(shè)置為 Ubuntu 20.04 鏡像澳迫,Network Name 設(shè)置為我們創(chuàng)建好的 VLAN 網(wǎng)絡(luò)局齿,以便 AutoK3s 可以從外部 SSH 連接到虛擬機(jī)中;前面獲取的 Kubeconfig 內(nèi)容也一并填寫(xiě)到表單對(duì)應(yīng)位置中:
- K3s Options 中橄登,K3s Install Script 選擇中國(guó)區(qū) mirror 的下載鏈接抓歼,可以加速安裝 K3s 集群:
配置信息完成以后讥此,點(diǎn)擊創(chuàng)建按鈕,等待集群創(chuàng)建完成谣妻。
集群創(chuàng)建完成后萄喳,可以通過(guò) SSH 功能連接到 Harvester 虛擬機(jī)中。在上面的例子中拌禾,我們配置了 cloud-init 模板取胎,在啟動(dòng)虛擬機(jī)的時(shí)候展哭,安裝了 curl 及 jq 工具湃窍。這樣,在連接虛擬機(jī)后就可以直接使用 jq 工具了匪傍。
集群創(chuàng)建完成后您市,您可以使用 Launch Kubectl 功能,直接操作 K3s 集群的資源役衡;也可以開(kāi)啟 kube-explorer 功能茵休,從精簡(jiǎn)的 explorer UI 來(lái)管理 K3s 集群的資源;這些使用體驗(yàn)與其他 provider 的都是一致的手蝎。
訪問(wèn) Harvester 環(huán)境榕莺,我們可以在虛擬機(jī)列表頁(yè)面中查看到通過(guò) AutoK3s 創(chuàng)建出來(lái)的虛擬機(jī)信息。
在此場(chǎng)景下棵介,您可以基于 Harvester 與 AutoK3s 構(gòu)建自己的私有 K8s 云環(huán)境钉鸯;您可以結(jié)合 cloud-init 模板,在虛擬機(jī)初始化時(shí)做更多的準(zhǔn)備邮辽,例如提前寫(xiě)入代理配置文件唠雕、提前下載所需鏡像等操作;更多有趣的使用場(chǎng)景等待您的發(fā)掘吨述。
小貼士:
Q:如何獲取 Harvester 中的資源信息岩睁,并填寫(xiě)到 AutoK3s 配置參數(shù)中,例如 Image Name揣云?
A:您可以訪問(wèn) Harvester Dashboard捕儒,找到您要使用的 Image 資源,點(diǎn)擊右側(cè)的下拉按鈕邓夕,選擇在 API 中查看 (View in API)
在新彈出的頁(yè)面中獲取 JSON 結(jié)構(gòu)體的 id 屬性值刘莹,即為您需要填寫(xiě)的參數(shù)內(nèi)容。
集群管理
最近翎迁,我們總結(jié)了社區(qū)用戶使用過(guò)程中較頻繁遇到的 issue栋猖,v0.4.8 版本增強(qiáng)了 Native provider 特性,使用體驗(yàn)與其他 Provider 保持一致汪榔,用戶可以在集群列表頁(yè)面管理 Native Cluster 了蒲拉。
在 Native 模式下肃拜,主機(jī)信息由用戶自行維護(hù),所以 Native 模式僅支持對(duì) K3s 集群的搭建雌团、卸載燃领、SSH 連接到指定主機(jī),不負(fù)責(zé)主機(jī)的生命周期管理锦援。
后續(xù)規(guī)劃
在下個(gè)版本中猛蔽,AutoK3s 將集成 Kubeapp,增加對(duì) Helm repo 的支持灵寺,用戶可以一鍵部署 Helm Chart 到不同的集群中曼库,例如通過(guò) AutoK3s 一鍵搭建 K3s 集群并部署 Rancher。我們還會(huì)增加對(duì) K3s 集群升級(jí)體驗(yàn)的支持略板,方便用戶升級(jí) K3s 集群版本毁枯。
AutoK3s 的未來(lái)目標(biāo)是為開(kāi)發(fā)者打造一款自服務(wù)的 K3s 管理工具,等同于更加輕量的Rancher叮称。
想了解第一手功能規(guī)劃种玛,請(qǐng)點(diǎn)擊:https://github.com/cnrancher/autok3s/milestones
一切開(kāi)源
感興趣的用戶可以通過(guò) Github 獲取更多文檔信息:
https://github.com/cnrancher/autok3s
https://docs.rancher.cn/docs/k3s/autok3s/_index/
AutoK3s 是純粹面向開(kāi)發(fā)者的一款小工具,并非企業(yè)級(jí)產(chǎn)品瓤檐。如果您在使用過(guò)程中遇到問(wèn)題赂韵,或者您有好的意見(jiàn),歡迎提交 issue挠蛉;如果您喜歡我們祭示,請(qǐng)點(diǎn)亮 star。
關(guān)于 AutoK3s 更多特性碌秸,請(qǐng)查看: