云原生的不断成熟让大量基础设施层的能力可以被业务应用直接使用,然而广大的开发者们却苦于很高的上手门槛和学习成本,一直没有机会深入了解云原生生态的工具体系。今天我们将为你介绍一个好用的工具,它能够在离线环境帮你快速安装 Kubernetes 集群,低门槛的上手业务应用部署,还能具备多集群、云资源等一系列高阶能力,而你只需要准备一个能够运行 Docker 的系统环境。
这个工具就是 VelaD,它可以帮助开发者从零开始,在三分钟内快速搭建基于 K3s 和 KubeVela 的云原生应用控制平面。
准备工作
- 如果你使用的是 Mac 或者 Windows,需要准备 Docker 环境,推荐使用 Docker Desktop。
- 如果你使用的是 Linux,则无需准备工作。
安装 VelaD
Mac/Linux
curl -fsSl https://static.kubevela.net/script/install-velad.sh | bash
Windows
使用 Powershell 运行
powershell -Command "iwr -useb https://static.kubevela.net/script/install-velad.ps1 | iex"
安装中需要你输入当前用户的密码来安装到 PATH 中,用以下命令确认你已经安装成功:
velad version
Core Version: v1.7.5 VelaD Version: v1.7.5
一键安装 Kubernetes 和 KubeVela 控制平面
最简单的情况下,使用 VelaD 创建多集群控制平面,只需要一条命令:
velad install
整个安装过程是离线完成的,只需要 1 分钟左右便可安装完成,除了 Kubernetes 以外,还会安装 KubeVela 这个现代化的云原生应用交付和管理平台,帮你轻松上手云原生应用的部署。不仅如此,你还可以通过添加更多节点和数据库来保证集群数据的更高可用性(见“添加集群”小节)。另外,以上命令所创建的控制平面并不会自动将集群暴露给公网。如果你需要通过公网访问你在远程服务器上创建的控制平面,参见远程访问文档。
该命令的背后是基于 K3s/K3d 技术为你在机器上创建一个单节点的 Kubernetes 集群,并在其中安装 KubeVela,及其命令行工具 vela。基于这个环境,你可以立刻开始交付你的业务应用。
开箱即用的应用交付功能
开启 VelaUX
随着 velad install 的执行,广受欢迎的控制台插件 VelaUX 也一并在你的机器上就绪了。注意 velad install 执行结束后的提示:
💡 To enable dashboard, run `vela addon enable /Users/qiaozp/.vela/addons/velaux` 🔑 To access the cluster, set KUBECONFIG: export KUBECONFIG=$(velad kubeconfig --name default --host)
复制安装成功后的提示命令,执行,启用 VelaUX 插件,命令中的路径在你的环境有所不同
Linux/Mac
export KUBECONFIG=$(velad kubeconfig --name default --host) vela addon enable $HOME/.vela/addons/velaux
Windows
$env:PATH += ";$HOME\.vela\bin;" $env:KUBECONFIG = $(velad kubeconfig --host) vela addon enable $HOME\.vela\addons\velaux
VelaUX 是一个控制平面上运行的应用,你可以通过浏览器来访问,将 VelaUX 的端口转发到本机来访问:
vela port-forward addon-velaux -n vela-system 8080:80
使用上下方向键选择 >local | velaux | velaux。接下来你就能在浏览器中访问:http://127.0.0.1:8080/
初始管理员用户名和密码分别为 admin 和 VelaUX12345,登陆后你需要设置邮箱和密码。
部署应用
下面将带你体验使用 VelaUX 三步部署一个 Wordpress 应用。Wordpress 是一个著名的博客软件,可以通过 Helm Chart 部署。
第一步:在插件列表中启用 fluxcd 插件。fluxcd 插件为 KubeVela 提供了交付 Helm Chart 的能力。等待 fluxcd 插件就绪,状态转为 running。
Tips: KubeVela 的微内核设计,可以通过插件系统不断扩充系统能力,你可以借此持续采纳云原生领域中最新的实践。目前 KubeVela 官方插件目录中含有 40+ 正式插件,30+ 实验插件,涉及工作负载、云资源、可观测性、滚动发布等多个领域,并且还在不断扩充中。
第二步:创建应用,填入名称 wordpress,选择主组件类型为 helm,并绑定 default 环境。
Tips: 环境是 VelaUX 的重要概念,可以帮助用户区分例如开发、测试、生产等环境。
点击下一步,填写如下参数:
仓库地址:https://charts.bitnami.com/bitnami
Chart: wordpress
开启高级参数,给 Values 添加四个值:
service.type:ClusterIP
wordpressUsername:admin
wordpressPassword:wordpress_password
mariadb.db.password:mariadb_password
Tips: 参数的来源是 wordpress/README.md,你还可以选择其它你需要的参数。以上参数保证我们可以完成交付。
第三步:点击“部署”,你可以看到正在执行的工作流,我们的应用没有额外配置工作流,所以 VelaUX 会生成一个默认工作流。点击左侧状态栏,可以追踪整个应用的拓扑结构。等待直至工作流完成。以及资源拓扑图中所有资源都达到健康状态。
Tips: 除了通过应用的拓扑结构观察全部底层资源的状态,你还可以在其它 Tab 中查看容器状态、事件、日志、资源指标等信息,如果开启了 cloudshell 插件,用户还能进入 pod shell 执行命令。整个过程受到 VelaUX 多租户权限体系的严格管控。你可以通过 KubeVela 文档进一步了解权限管理、单点登录等问题。
Tips: 应用的工作流是 KubeVela 中对应用发布过程的一部分。提供了面向过程的灵活性,可以实现条件判断、暂停、状态等待、数据流传递、多环境灰度等复杂操作。