輕松完爆Helm私有倉庫


一、前言

上節談 helm 操作公共倉庫。這節講 helm 自建私有倉庫。如果要搭 helm 私有倉庫,需要一個存儲服務器,我們這里選擇 minio

二、minio安裝

2.1 minio下載

$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio

2.2 minio 安裝

$ chmod +x minio && mv minio /usr/local/bin

2.3 minio驗證

$ minio --version
minio version RELEASE.2021-06-09T18-51-39Z

2.4 創建 minio 工作目錄和日志文件

$ mkdir -p /data/minio/oss
# 創建 minio 服務端工作目錄

$ mkdir -p /data/minio/log && touch /data/minio/log/minio.log
# 創建 minio 服務端日志文件

2.5 minio 啟動

$ nohup minio server --address 192.168.99.1:9001 /data/minio/oss > /data/minio/log/minio.log 2>&1 &
# 啟動 minio 服務器完畢后會將啟動信息寫入日志文件 /data/minio/log/minio.log ,配置信息寫入隱藏的工作目錄 /data/minio/oss/.minio.sys。

$ ll -a /data/minio/oss/
總用量 0
drwxr-xr-x 4 root root 41 6月  12 13:26 .
drwxr-xr-x 4 root root 28 6月  12 13:21 ..
drwxr-xr-x 6 root root 82 6月  12 13:22 .minio.sys

2.6 minio 登錄

打開瀏覽器,輸入 http://192.168.99.1:9001/

minio登陸頁面

/data/minio/oss/.minio.sys/config/config.json 找到登錄秘鑰。如下圖所示:

$ cat /data/minio/oss/.minio.sys/config/config.json | python -m json.tool

2021-06-12_140746

自此,minio 安裝成功。

三、自建倉庫

3.1 創建Helm倉庫

瀏覽器登錄 minio,點擊右下角的“新增”按鈕,選擇 Create bucket

2021-06-12_141001
填寫 Bucket Name 回車,創建 helm 倉庫:
2021-06-12_141040

3.2 設置 helm 倉庫權限

選擇創建好的 helm 倉庫,點擊“更多”圖標:如下圖所示:

2021-06-12_141246

選擇 Edit policy 菜單:

2021-06-12_141339

在彈出框中選擇 Read and write ,然后點擊“新增(Add)”按鈕:

2021-06-12_141400

點擊“關閉”按鈕結束配置:

2021-06-12_141611

自此,完成自建 helm 私有倉庫。

四、添加私有倉庫

上面完成了私有倉庫的創建。下一步就可以將 helm 跟私有倉庫進行關聯了。執行如下命令:

# 注意不要忘記私有倉庫名 “helm-repo” 
$ helm repo add minio http://192.168.99.1:9001/helm-repo
Error: looks like "http://192.168.99.1:9001/helm-repo" is not a valid chart repository or cannot be reached: failed to fetch http://192.168.99.1:9001/helm-repo/index.yaml : 404 Not Found
#  執行報錯,helm 3 認為創建的私有倉庫無效,因為缺少 index.yaml 文件。執行命令生成 index.yaml 文件。

$ mkdir -p /root/helm/repo 
$ helm repo index /root/helm/repo
# 創建 index.yaml 文件
$ ll /root/helm/repo/
總用量 4
-rw-r--r-- 1 root root 76 6月  12 14:50 index.yaml

4.1 上傳索引文件

登錄 minio 服務器(http://192.168.99.1:9001)。選擇 “上傳文件(upload file)” 按鈕,上傳 index.yaml 文件。

2021-06-12_145129

4.2 關聯私有倉庫

$ helm repo add minio http://192.168.99.1:9001/helm-repo
# 注意不要忘寫私有倉庫名 helm-repo

4.3 驗證私有倉庫

$ helm repo list
NAME            URL
stable          http://mirror.azure.cn/kubernetes/charts
aliyun          https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
jetstack        https://charts.jetstack.io
minio           http://192.168.99.1:9001/helm-repo

自此,輕松完爆 helm 私有倉庫。可以停下來尖叫了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM