您当前的位置: 首页 >  ar

阿里云云栖号

暂无认证

  • 0浏览

    0关注

    5305博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Helm Chart 多环境、多集群交付实践,透视资源拓扑和差异

阿里云云栖号 发布时间:2022-08-01 15:34:14 ,浏览量:0

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             
关注
打赏
1664438436
查看更多评论
0.0567s