拉取和推送Helm Chart教程介绍
Helm通过引入Helm chart 来促进Kubernetes 应用程序的部署和管理,Helm chart是描述相关 Kubernetes 资源集的YAML文件的集合。
Helm Chart存储在托管在容器注册表中的Chart存储库中,无论是在本地系统上还是在线上。
在本教程中,你将学习如何将 Helm Chart推送和拉入容器注册表,包括拉取和推送Helm Chart示例。
先决条件
- 访问容器注册表
- 安装了 Helm 3
注意:如果你不确定你的系统上运行的是哪个版本的 Helm,请使用该helm version
命令查找。
如何将 Helm Chart 推送到注册表
如何拉取和推送Helm Chart?Helm 3 支持跨 Open Container Initiative (OCI) 注册中心的存储和共享。但是,该支持仍被视为实验性的,你需要通过将HELM_EXPERIMENTAL_OCI
变量设置为来启用它1
。
为此,请在命令行中键入以下内容:
export HELM_EXPERIMENTAL_OCI=1
如果正确发出,该命令将不返回任何输出。
1. 创建示例Chart
拉取和推送Helm Chart示例:创建一个示例 Helm Chart,以便更轻松地学习本教程。
- 首先,为Chart创建一个目录:
mkdir helm-testing
2.接下来,进入目录:
cd helm-testing
3.使用helm create
命令生成一个简单的HelmChart:
helm create test-chart
4. 导航到templates
新创建Chart的目录:
cd test-chart/templates
5、删除目录内容:
rm -rf *
6. 在目录中,使用文本编辑器创建一个名为 的文件configmap.yaml
:
nano configmap.yaml
7. 将以下内容复制到文件中:
apiVersion: v1
kind: ConfigMap
metadata:
name: test-chart-configmap
data:
myvalue: "This is a test chart"
8. 保存并退出文件。
2. 拉取和推送Helm Chart教程:保存和验证
- 使用该
cd ..
命令导航回主Chart目录。现在将Chart保存在本地:
helm chart save . test-chart:v1
2. 另外,创建一个包含注册表 URI 的Chart别名。该示例使用为测试目的设置的注册表位于localhost:5000
:
helm chart save . localhost:5000/helm/test-chart:0.1.0
3. 列出可用Chart以确认前两步成功:
helm chart list
输出显示保存的Chart。
4. 现在使用你的凭据登录注册表。
helm registry login -u [username] [registry]
系统会提示你输入密码。输入密码并按Enter 键。
3.将Chart推送到注册表
使用以下命令将你的 Helm Chart推送到注册表:
helm chart push localhost:5000/helm/test-chart:0.1.0
输出确认推送操作成功并提供有关Chart的附加信息。
注意:要了解 Helm 中存储库管理的基础知识,请阅读如何添加、更新或删除 Helm存储库。
如何拉取 Helm Chart
如何拉取和推送Helm Chart?将Chart推送到注册表后,你可以通过键入以下内容删除本地版本:
helm chart remove localhost:5000/helm/test-chart:0.1.0
拉取和推送Helm Chart示例:Helm 从本地存储中删除Chart。
要安装Chart,请使用以下helm chart pull
命令从注册表中提取它:
helm chart pull localhost:5000/helm/test-chart:0.1.0
输出确认Chart已下载。使用export
子命令和--destination
标志将其导出到目录:
helm chart export localhost:5000/helm/test-chart:0.1.0 \
--destination ./install
如上面的屏幕截图所示,Chart现在已导出到安装目录,你可以继续安装它。有关安装过程的更多信息,请参阅如何使用 helm install 命令。
拉取和推送Helm Chart教程结论
如何拉取和推送Helm Chart?本教程演示了用于创建、保存、推送和拉取 Helm Chart的 Helm 3 命令。有关旨在管理和部署Chart的更多 Helm 命令,请阅读Helm 命令备忘单。