上节谈到 helm 仓库的使用。这节讲如何自建 helm 仓库。如果要搭一个 helm 仓库,需要一个存储服务器,我们这里选择 minio(https://docs.min.io/cn/minio-quickstart-guide.html)。
1 minio安装
2 自建helm仓库
3 helm关联自建仓库
1 minio 安装
1.1 minio 下载
# wget https://dl.minio.io/server/minio/release/linux-amd64/minio
1.2 minio 安装
# chmod +x minio && mv minio /usr/local/bin
1.3 minio 验证
# minio version
1.4 创建 minio 工作目录和日志文件
## minio 服务端工作目录 # mkdir -p /data/minio/oss
## minio 服务端日志文件 # mkdir -p /data/minio/log && touch /data/minio/log/minio.log
1.5 minio 启动
## 根据自己的实际情况修改实际的 ip 地址和 port 号 nohup minio server --address 10.110.101.98:9001 /data/minio/oss > /data/minio/log/minio.log 2>&1 &
minio 启动后,在 /data/minio/oss 目录下生成隐藏的目录(.minio.sys)。如下图所示:
1.6 minio 登录
打开浏览器,输入 http://10.110.101.98:9001 后回车,看到如下界面:
从 /data/minio/oss/.minio.sys/config/config.json 文件中找到 minio 的秘钥。如下图所示:
输入秘钥登录后的界面如下:
自此,minio 安装并设置成功。
2 自建 helm 仓库
2.1 创建 helm 仓库
浏览器登录进 minio 后,点击右下角的“新增”按钮,选择 "Create bucket" 创建 helm 仓库。如下图所示:
填写 “Bucket Name” 并回车:
添加 helm 仓库后的截图如下:
2.2 设置 helm 仓库权限
选择创建好的 helm 仓库,点击“更多”图标:如下图所示:
选择 “Edit policy” 菜单,如下图所示:
在弹出框中选择 “Read and write” 配置,然后点击“新增”按钮,如下图所示:
新增成功后,点击“关闭”按钮结束整个配置,如下图所示:
自此,完成自建 helm 仓库。
3 helm 关联自建仓库
上面已经在 minio 存储服务器中完成了 helm 自建仓库的创建。下一步就可以将 helm 跟自建仓库进行关联了。执行如下命令:
## 指定 helm 自建仓库的别名为 minio,并指向自建仓库的实际存放地址 # helm repo add minio http://10.110.101.98:9001/helm-repo
执行报错,报错的原因是 helm 3 认为当前自建仓库无效,因为缺少标识 chart 的 index.yaml 文件。
3.1 创建 helm 本地仓库目录
注意,是本地仓库。用来跟 minio 上的 helm 仓库做关联的。
# mkdir /root/helm/repo -p
3.2 创建 helm 本地索引文件 index.yaml,命令如下:
# helm repo index /root/helm/repo
3.3 上传 index.yaml 到 minio helm 仓库
登录 minio 服务器端网址(http://10.110.101.98:9001)。选择 “上传文件(upload filre)” 按钮,上传刚才生成的 index.yaml。如下图所示:
3.4 helm 关联自建仓库
# 注意不要忘写仓库名 helm-repo # helm repo add minio http://10.110.101.98:9001/helm-repo
3.5验证自建仓库
# helm repo list
轻松完爆 helm 自建仓库。可以停下来尖叫了。