Helm Charts[1] 如今已是一种非常流行的软件打包方式,在其应用市场中你可以找到接近一万款适用于云原生环境的软件。然后在如今的混合云多集群环境中,业务越来越依赖部署到不同的集群、不同的环境、同时指定不同的配置。再这样的环境下,单纯依赖 Helm 工具可能无法做到灵活的部署和交付。
在本文中,我们将介绍如何通过 KubeVela[2] 解决多集群环境下 Helm Chart 的部署问题。如果你手里没有多集群也不要紧,我们将介绍一种仅依赖于 Docker 或者 Linux 系统的轻量级部署方式,可以让你轻松的体验多集群功能。当然,KubeVela 也完全具备单集群的 Helm Chart 交付[3]能力。
前提条件- 安装 Docker v20.10.5+ (runc >= v1.0.0-rc93) 或者你的操作系统是 Linux。
- VelaD[4],一个轻量级的部署 KubeVela 和 Kubernetes 的工具。
本节是做 KubeVela 以及多集群环境的准备,我们将基于 Docker 或者 Linux 环境从头开始。如果你已经具备了 KubeVela 的环境并且完成了集群管理[5] ,则可以跳过本节。
安装 KubeVela 控制平面velad install
将新创建的集群导入到环境变量
export KUBECONFIG=$(velad kubeconfig --name default --host)
到这里,恭喜你!我们已经完成了 KubeVela 控制平面的安装。你可以通过下面这个方式加入你的 Kubernetes 集群:
vela cluster join --name foo
如果你没有现成的 Kubernetes 集群,VelaD 也可以很方便的为你创建一个:
用 velad 创建一个名为 foo 的集群,并加入到控制平面velad install --name foo --cluster-only
vela cluster join $(velad kubeconfig --name foo --internal) --name foo
作为一个充分可扩展的控制平面,KubeVela 的大多数能力都是作为插件提供的。接下来的几步我们介绍安装 Helm 多集群部署的必要插件。
启用 velaux 插件,获得 UI 控制台vela addon enable velaux
启用 fluxcd 插件获得 helm chart 交付能力
vela addon enable fluxcd
如果你在加入新集群之前已启用过 fluxcd 插件,则应该通过以下方式来为新加入的集群启用(部署)插件:
vela addon enable fluxcd --clusters foo
至此,我们完成了所有的准备工作,可以查看加入的集群了:
$ vela cluster ls
CLUSTER ALIAS TYPE ENDPOINT ACCEPTED LABELS
local Internal - true
foo X509Certificate https://172.20.0.6:6443 true
local 是 KubeVela 控制平面的集群,foo 则是我们刚刚添加的集群。
多集群部署我们可以使用 topology 策略来指定 Helm Chart 交付的环境,指令如下:
cat
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?