将自定义 Helm 应用导入系统内置 Addon¶
本文从离线和在线两种环境说明如何将 Helm 应用导入到系统内置的 Addon 中。
离线环境¶
离线环境指的是无法连通互联网或封闭的私有网络环境。
前提条件¶
- 存在可以运行的 charts-syncer。 若没有,可点击下载。
- Helm Chart 已经完成适配 charts-syncer。 即在 Helm Chart 内添加了
.relok8s-images.yaml
文件。该文件需要包含 Chart 中所有使用到镜像, 也可以包含 Chart 中未直接使用的镜像,类似 Operator 中使用的镜像。
Note
- 如何编写 Chart 可参考 image-hints-file。 要求镜像的 registry 和 repository 必须分开,因为 load 镜像时需替换或修改 registry/repository。
- 安装器所在的火种集群已安装 charts-syncer。 若将自定义 Helm 应用导入安装器所在火种集群,可跳过下载直接适配; 若未安装 charts-syncer二进制文件, 可立即下载。
同步 Helm Chart¶
- 进入
容器管理
->Helm 应用
->Helm 仓库
,搜索 addon,获取内置仓库地址和用户名/密码(系统内置仓库默认用户名/密码为 rootuser/rootpass123)。
-
同步 Helm Chart 到容器管理内置仓库 Addon
-
编写如下配置文件,可以根据具体配置修改,并保存为
sync-dao-2048.yaml
。source: # helm charts 源信息 repo: kind: HARBOR # 也可以是任何其他支持的 Helm Chart 仓库类别,比如 CHARTMUSEUM url: https://release-ci.daocloud.io/chartrepo/community # 需更改为 chart repo url #auth: # 用户名/密码,若没有设置密码可以不填写 #username: "admin" #password: "Harbor12345" charts: # 需要同步 - name: dao-2048 # helm charts 信息,若不填写则同步源 helm repo 内所有 charts versions: - 1.4.1 target: # helm charts 目标信息 containerRegistry: 10.5.14.40 # 镜像仓库 url repo: kind: CHARTMUSEUM # 也可以是任何其他支持的 Helm Chart 仓库类别,比如 HARBOR url: http://10.5.14.40:8081 # 需更改为正确 chart repo url,可以通过 helm repo add $HELM-REPO 验证地址是否正确 auth: # 用户名/密码,若没有设置密码可以不填写 username: "rootuser" password: "rootpass123" containers: # kind: HARBOR # 若镜像仓库为 HARBOR 且希望 charts-syncer 自动创建镜像 Repository 则填写该字段 # auth: # 用户名/密码,若没有设置密码可以不填写 # username: "admin" # password: "Harbor12345" # leverage .relok8s-images.yaml file inside the Charts to move the container images too relocateContainerImages: true
-
执行 charts-syncer 命令同步 Chart 及其包含的镜像
预期输出为:
I1222 15:01:47.119777 8743 sync.go:45] Using config file: "examples/sync-dao-2048.yaml" W1222 15:01:47.234238 8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory I1222 15:01:47.234685 8743 sync.go:58] There is 1 chart out of sync! I1222 15:01:47.234706 8743 sync.go:66] Syncing "dao-2048_1.4.1" chart... .relok8s-images.yaml hints file found Computing relocation... Relocating dao-2048@1.4.1... Pushing 10.5.14.40/daocloud/dao-2048:v1.4.1... Done Done moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz
-
-
待上一步执行完成后,进入
容器管理
->Helm 应用
->Helm 仓库
,找到对应 Addon, 在操作栏点击同步仓库
,回到 Helm 模板就可以看到上传的 Helm 应用 -
后续可正常进行安装、升级、卸载
在线环境¶
在线环境的 Helm Repo 地址为 release.daocloud.io
。 如果用户无权限添加 Helm Repo,则无法将自定义 Helm 应用导入系统内置 Addon。 您可以添加自己搭建的 Helm 仓库,然后按照离线环境中同步 Helm Chart 的步骤将您的 Helm 仓库集成到平台使用。