AutoK3s v0.4.8 发布 与 Harvester 梦幻联动
作者简介
鞠宏超,SUSE SW Engineering, 6 年云计算领域经验,先后参与了 Longhorn 产品研发、Rancher2.x 产品研发,目前主要致力于 Rancher 企业版产品设计与研发工作,AutoK3s 的核心维护者。
AutoK3s 是一款 K3s 集群自动化部署工具,可以方便开发者自助管理多云环境中的 K3s 集群。之前的版本支持了 AWS/Aliyun/Tencent/Google 四个主流公有云,同时可以帮助开发者管理本地 K3d 集群。
最新的 v0.4.8 版本特性预览:
- 支持 Harvester Provider,用户可以在 Harvester 上快速创建虚拟机,并自动搭建 K3s 集群。
- 支持 Google Provider,用户可以在 GCE 上快速创建虚拟机,并自动搭建 K3s 集群,同时支持自动部署 Google K8s Cloud Provider(CCM)。
- 增强 Native Provider 特性,用户现在可以在 UI 上管理和维护 Native 模式创建的 K3s 集群。
本文将基于最新的 v0.4.8 版本,为大家介绍如何实现 AutoK3s 与 Harvester 的梦幻联动。
本文所使用的环境版本信息:

PS:如果您还未搭建过 Harvester 集群,可以查看 Harvester 的相关介绍或访问 Harvester 中文文档:http://docs.rancher.cn/harvester1.0/
一键启动
如果您是 Linux 或者 MacOS 用户,可以使用以下脚本安装 AutoK3s,并启动 UI Portal:
$ curl -sS http://rancher-mirror.cnrancher.com/autok3s/install.sh | INSTALL_AUTOK3S_MIRROR=cn sh
$ autok3s serve
或者使用 Docker 一键启动 UI Portal:
# 标准Linux环境,使用以下命令
$ docker run -itd --restart=unless-stopped --net=host -v /var/run/docker.sock:/var/run/docker.sock cnrancher/autok3s:v0.4.7
# MacOS环境,使用以下命令
$ docker run -itd --restart=unless-stopped -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock cnrancher/autok3s:v0.4.7
服务启动后,打开浏览器,输入地址(http://127.0.0.1:8080),访问 UI。
创建集群
在使用之前,我们需要提前搭建好一个 Harvester 集群,并且准备好可以访问这个集群的 Kubeconfig 文件(需要 cluster-admin 权限)。如果你有多套 Harvester 集群,AutoK3s 可以根据 Kubeconfig 配置切换在不同 Harvester 集群联动的效果。
以 Rancher v2.6.3 为例,使用管理员用户登录后,点击左上角菜单,选择全局应用 > 虚拟化管理,选择要操作的某个 Harvester 集群,点击右侧下拉按钮,获取 Kubeconfig:

接下来,我们将要在 UI 上使用 Harvester Provider,通过 Kubeconfig 配置指定我们要操作的 Harvester 集群,并在这个 Harvester 集群上创建两个虚拟机,并自动启动由 1 个 master 和 1 个 worker 节点组成的 K3s 集群。
集群配置信息如下:
- Instance Options 中,我们设置 2C/4G/40G 大小的虚拟机,Image Name 设置为 Ubuntu 20.04 镜像,Network Name 设置为我们创建好的 VLAN 网络,以便 AutoK3s 可以从外部 SSH 连接到虚拟机中;前面获取的 Kubeconfig 内容也一并填写到表单对应位置中:


- K3s Options 中,K3s Install Script 选择中国区 mirror 的下载链接,可以加速安装 K3s 集群:

配置信息完成以后,点击创建按钮,等待集群创建完成。
集群创建完成后,可以通过 SSH 功能连接到 Harvester 虚拟机中。在上面的例子中,我们配置了 cloud-init 模板,在启动虚拟机的时候,安装了 curl 及 jq 工具。这样,在连接虚拟机后就可以直接使用 jq 工具了。

集群创建完成后,您可以使用 Launch Kubectl 功能,直接操作 K3s 集群的资源;也可以开启 kube-explorer 功能,从精简的 explorer UI 来管理 K3s 集群的资源;这些使用体验与其他 provider 的都是一致的。
访问 Harvester 环境,我们可以在虚拟机列表页面中查看到通过 AutoK3s 创建出来的虚拟机信息。

在此场景下,您可以基于 Harvester 与 AutoK3s 构建自己的私有 K8s 云环境;您可以结合 cloud-init 模板,在虚拟机初始化时做更多的准备,例如提前写入代理配置文件、提前下载所需镜像等操作;更多有趣的使用场景等待您的发掘。
小贴士:
Q:如何获取 Harvester 中的资源信息,并填写到 AutoK3s 配置参数中,例如 Image Name?
A:您可以访问 Harvester Dashboard,找到您要使用的 Image 资源,点击右侧的下拉按钮,选择在 API 中查看 (View in API)

在新弹出的页面中获取 JSON 结构体的 id 属性值,即为您需要填写的参数内容。

集群管理
最近,我们总结了社区用户使用过程中较频繁遇到的 issue,v0.4.8 版本增强了 Native provider 特性,使用体验与其他 Provider 保持一致,用户可以在集群列表页面管理 Native Cluster 了。
在 Native 模式下,主机信息由用户自行维护,所以 Native 模式仅支持对 K3s 集群的搭建、卸载、SSH 连接到指定主机,不负责主机的生命周期管理。
后续规划
在下个版本中,AutoK3s 将集成 Kubeapp,增加对 Helm repo 的支持,用户可以一键部署 Helm Chart 到不同的集群中,例如通过 AutoK3s 一键搭建 K3s 集群并部署 Rancher。我们还会增加对 K3s 集群升级体验的支持,方便用户升级 K3s 集群版本。
AutoK3s 的未来目标是为开发者打造一款自服务的 K3s 管理工具,等同于更加轻量的Rancher。
想了解第一手功能规划,请点击:https://github.com/cnrancher/autok3s/milestones
一切开源
感兴趣的用户可以通过 Github 获取更多文档信息:
https://github.com/cnrancher/autok3s
https://docs.rancher.cn/docs/k3s/autok3s/_index/
AutoK3s 是纯粹面向开发者的一款小工具,并非企业级产品。如果您在使用过程中遇到问题,或者您有好的意见,欢迎提交 issue;如果您喜欢我们,请点亮 star。
关于 AutoK3s 更多特性,请查看:
AutoK3s v0.4.8 发布 与 Harvester 梦幻联动的更多相关文章
- jQuery WeUI V0.4.2 发布
http://www.oschina.net/news/71590/jquery-weui-v0-4-2 jQuery WeUI V0.4.2 发布了! jQuery WeUI 中使用的是官方WeUI ...
- [译]基于ASP.NET Core 3.0的ABP v0.21已发布
基于ASP.NET Core 3.0的ABP v0.21已发布 在微软发布仅仅一个小时后, 基于ASP.NET Core 3.0的ABP v0.21也紧跟着发布了. v0.21没有新功能.它只是升级到 ...
- KCL v0.4.5 发布 - 更好的编写便利性改进,稳定性,体验提升与多平台支持
简介 KCL 团队很高兴地宣布 KCL v0.4.5 版本现在已经可用!本次发布主要为 KCL 语言编写便利性和稳定性提升,错误信息改进以及更多平台包括 windows 版本支持以及更多下载方式支持. ...
- Visual Studio Code v0.9.1 发布
微软的跨平台编辑器 Visual Studio Code v0.9.1 已经发布,官方博客上发布文章Visual Studio Code – October Update (0.9.1):http:/ ...
- 轻量级模块化开发框架 Hasor 核心模块 v0.0.2 发布
首先引用Wiki的介绍一下Hasor: “Hasor是一款开源框架.它是为了解决企业模块化开发中复杂性而创建的.Hasor遵循简单的依赖.单一职责,在开发多模块企业项目中更加有调理.然 而Ha ...
- 关于ML.NET v0.8的发布说明
ML.NET允许您创建和使用针对场景的机器学习模型,以实现常见任务,如情绪分析,问题分类,预测,推荐,欺诈检测,图像分类等.您可以使用ML.NET示例在GitHub仓库中查看这些常见任务 .ML.NE ...
- 关于ML.NET v0.6的发布说明
ML.NET 0.6版本提供了几项令人兴奋的新增功能: 用于构建和使用机器学习模型的新API 我们主要关注的是发布用于构建和使用模型的新ML.NET API的第一次迭代.这些新的,更灵活的API支持新 ...
- 关于ML.NET v0.5的发布说明
适逢.NET Conf 2018举办,ML.NET v0.5也正式宣布发布了.作为面向.NET开发人员的跨平台开源机器学习框架,新的预览版本在不断演变,每次发布除了有新的功能添加,API也会进行调整, ...
- LAL v0.32.0发布,更好的支持纯视频流
Go语言流媒体开源项目 LAL 今天发布了v0.32.0版本.距离上个版本刚好一个月时间,LAL 依然保持着高效迭代的状态. LAL 项目地址:https://github.com/q19120177 ...
- JDMasking v0.1.0-beta 发布
JDMasking 全称是jdbc data masking,是一款零代码修改.无重启.基于JDBC的动态数据脱敏软件. JDMasking 主要对实现jdbc的驱动进行字节码的增强,支持对运行中的程 ...
随机推荐
- USB(2.0 / Type-C) to MPSSE(JTAG / SPI / IIC) / UART / FIFO: FTDI 的桥接芯片选型
首次使用 FTDI 的 USB bridging chips 是在 Amazon 工作时期, 需要通过电脑上Linux开发环境的C-Kermit软件, 用FTDI USB to UART Chip对A ...
- 传统UGO权限+ACL权限管理结合 控制权限案例分析
以下是CentOS系统中传统UGO权限管理与ACL权限管理的详细对比及其结合应用场景的解析,附实际案例说明: 一.传统UGO权限管理 1. 核心机制 权限模型:将用户分为三类: ...
- gif动态图片软件下载
GIF片制作软件是一类可以轻松的将数张静态的BMP.JPG.ICO格式的图片连在一起制作成GIF动态图片, GIF动态图因有着很好的展现力所以深受网友的喜欢,平时我们逛论坛.百度贴吧.新浪微博.qq空 ...
- Python零基础从入门到精通详细教程2-变量与常量
1.简介 程序就是用来处理数据的,而变量就是用来存储数据的.好呀,那我们今天就来聊聊 Python 中的变量吧!这可是编程里的一个重要概念哦. 2.变量的定义 变量,英文名叫做variable,是计算 ...
- [题解]P10185 [YDOI R1] Necklace
P10185 [YDOI R1] Necklace 容易写出答案为: \[\large\sum\limits_{i=1}^n\Big(2^{S-a_i}\sum\limits_{j=1}^{a_i}( ...
- echo "your_password" | sudo -S apt-get update
`sudo -S` 是 `sudo` 命令的一个选项,它指示 `sudo` 从标准输入(stdin)读取密码,而不是从终端提示用户输入.通常情况下,当你使用 `sudo` 执行一个需要提升权限的命令时 ...
- json序列化数据超出最大值(maxJsonLength)
https://www.cnblogs.com/ellafive/p/13704301.html 1.序列化: 以下代码在对象过大时会报错:进行序列化或反序列化时出错.字符串的长度超过了为 maxJs ...
- 《HelloGitHub》第 113 期
兴趣是最好的老师,HelloGitHub 让你对开源感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...
- 【PostgreSQL 17】2 使用pgAdmin初始化示例表
启动pgAdmin 从开始菜单启动 pgAdmin 这里默认有一个连接,点击后会让我们设置密码 新建连接 Servers → Register → Server General 因为在数据库服务器就在 ...
- LiveGBS通过GB28181接入摄像机或者硬盘录像机NVR设备的录像回放
GB28181流媒体服务搭建 搭建入口,解压启动即用:https://www.liveqing.com/docs/download/LiveGBS.html 设备端录像与集中存储的区别 录像没有集中存 ...