构建基于 Helm Charts 的集群镜像
学习如何使用Sealos和Helm Charts构建基于nginx的Kubernetes集群镜像。本教程涵盖准备工作、Charts配置、Kubefile创建、镜像构建和安装等步骤。
让我们以最简单的 nginx 应用程序为例,介绍如何基于 Helm Charts 构建一个基于 nginx 的集群镜像。
一、准备工作
创建一个用于构建工作的基础目录。
创建一个 charts
目录来存储 Kubernetes nginx Helm Charts 文件。
二、准备Helm Charts
准备 nginx Helm Charts,这里我们使用 bitnami 官方的 nginx Helm Charts,让我们将 Helm Chart 文件拉取到本地并解压到 charts
目录中。
注意: 首先你应该安装 Helm 命令工具到本地主机。
现在,charts 目录的结构如下所示。
三、创建Kubefile
创建一个名为 Kubefile
的文件用于镜像构建:
建议使用 helm upgrade --install
而不是 helm install
,这样可以在以后更新应用程序时重复运行相同的命令。
你可以根据需要添加其他选项,例如通过 NodePort 暴露服务。
四、构建集群镜像
现在一切准备就绪,你可以开始构建集群镜像。
注意: 你应该首先将 sealos 命令安装到本地主机。
你可以查看构建日志。
sealos 将自动从 charts 目录中提取镜像,将其拉取到本地并存储在 registry 目录中。
现在的目录结构如下所示:
在本地查看构建的镜像,现在所有依赖的部署清单和镜像缓存都构建到了集群镜像中。
你可以将镜像推送到任何 Docker 镜像仓库,下面的命令将其推送到 Docker Hub。
注意: 请使用 sealos 命令操作集群镜像,不支持 Docker 命令。
如果你使用私有镜像仓库,只需在拉取或推送镜像之前使用 sealos login
命令登录到注册表。
五、安装集群镜像
然后你可以在你的集群中运行集群镜像。
helm 二进制命令将安装到你的 Kubernetes 集群的主节点上。
六、说明
默认情况下,在构建镜像时,sealos 只解析默认的 values.yml 文件,但是你也可以为 sealos 提供自定义的 values.yaml 文件。
自定义 values 文件必须放在与你的 Chart 相同的目录中,并且必须以 <chart-name>.values.yaml
的形式命名,例如 loki-stack.values.yaml
。
loki-stack.values.yaml
文件内容如下:
不同的 values 文件可能会输出不同的镜像列表,以使 sealos 能够在 sealos build
过程中自动解析镜像。
最后更新于