跳到主要内容

构建基于二进制文件的集群镜像

此文档主要介绍了如何使用 sealos 工具将单一二进制文件(例如 helmkustomize)打包为集群镜像,并将它们通过在主节点上部署集群镜像进行安装。以 helm 为例,我们将详细介绍如何将二进制文件打包成集群镜像。

创建构建工作空间

首先,创建一个基础目录作为构建工作空间:

$ mkdir ~/cluster-images

在工作空间中,创建一个 opt 目录用于存储二进制文件:

$ cd cluster-images
$ mkdir opt/

准备二进制文件

接下来,我们准备 helm 二进制文件。在此,我们从 github release 中下载:

wget https://get.helm.sh/helm-v3.10.1-linux-amd64.tar.gz
tar -zxvf helm-v3.10.1-linux-amd64.tar.gz
chmod a+x linux-amd64/helm
mv linux-amd64/helm opt/

创建构建镜像所需的 Sealfile 文件

创建一个名为 Sealfile 的文件,内容如下:

FROM scratch
COPY opt ./opt
CMD ["cp opt/helm /usr/bin/"]

目前的目录结构如下:

.
├── Sealfile
└── opt
└── helm

构建集群镜像

现在,一切准备就绪,你可以开始构建集群镜像了:

sealos build -t labring/helm:v3.10.1 .

注意: 首先你需要在本地主机上安装 sealos 命令。

你可以查看构建日志来了解构建过程。

root@ubuntu:~/cluster-images# sealos build -t labring/helm:v3.10.1 .
...

查看构建的镜像,现在所有依赖的二进制文件都已经构建进集群镜像中:

root@ubuntu:~/cluster-images# sealos images
labring/helm v3.10.1 19ed4a24f0fe 3 minutes ago 45.1 MB

推送镜像

你可以将镜像推送至任何 Docker 镜像仓库,下面的命令将镜像推送到 dockerhub:

sealos push labring/helm:v3.10.1

注意: 请使用 sealos 命令来操作集群镜像,不支持 Docker 命令。

如果你使用的是私有镜像仓库,可以使用 sealos login 命令登录你的镜像仓库,然后再推送或者拉取镜像