部署helm私有庫

1、運行web容器作爲私有倉庫(我在node01上運行這個容器)

#運行web容器
[root@node01 ~]# docker run -d -p 81:80 -v /var/www:/usr/local/apache2/htdocs httpd
#創建目錄,用於存放charts包
[root@node01 ~]# mkdir -p /var/www/charts

2、通過helm package將tesetchart打包

[root@master ~]# helm create testchart      #創建testechart
[root@master ~]# helm package testchart    #進行打包
#執行打包操作後,會在當前目錄下生成一個名爲testchart-0.1.0.tgz的包

3、執行helm repo index生成庫的index文件

[root@master ~]# mkdir myrepo
[root@master ~]# mv testchart-0.1.0.tgz myrepo/
[root@master ~]# helm repo index myrepo/ --url http://192.168.20.3:81/charts
#上述的url是第一步所運行的httpd鏡像所在的節點IP+端口
[root@master ~]# ls myrepo/      #確定index.yaml文件已生成
index.yaml  testchart-0.1.0.tgz

4、將生成的index.yaml文件及charts包複製到httpd容器所在節點映射到本地的目錄

[root@master ~]# cd myrepo/
[root@master myrepo]# scp index.yaml testchart-0.1.0.tgz node01:/var/www/charts

5、通過helm repo add 將新倉庫添加到helm

#下面的URL是web容器的URL
[root@master myrepo]# helm repo add newrepo http://192.168.20.3:81/charts
[root@master myrepo]# helm repo list   #確認返回的列表有新添加的倉庫

其實,配置至此,已經可以正常供內網環境使用這個charts包的私有倉庫了,下面是一些驗證。

6、搜索複製到node01上的charts包

#搜索testchart(使用scp複製到node01的包)
[root@master myrepo]# helm search testchart     
NAME                CHART VERSION   APP VERSION DESCRIPTION                
local/testchart     0.1.0           1.0         A Helm chart for Kubernetes
newrepo/testchart   0.1.0           1.0         A Helm chart for Kubernetes
#可以看到返回的結果有新創建的庫下對應的包“newrepo/testchart”
#此時的搜索結果和本地沒有關係,因爲這個包是從web容器中搜索到的,可以將本地的包刪除再進行搜索測試
[root@master myrepo]# ls
index.yaml  testchart-0.1.0.tgz
[root@master myrepo]# rm -rf *
[root@master myrepo]# helm search testchart
#還是可以看到私有倉庫中的包的

7、從新的私有庫中安裝testchart進行測試

#可以像使用共有庫一樣使用這個私有庫了
[root@master myrepo]# helm install newrepo/testchart -n my-nginx

8、更新charts包所運行服務的鏡像

其實就是一個服務版本升級的操作,大概思路如下:修改解壓後的charts包目錄下的values.yaml文件爲所需的值(values.yaml文件包含的是這個服務的值,可以在裏面指定鏡像及標籤、數據持久化的類型等等),修改完成後,再使用下面的命令進行升級操作。

[root@master ~]# helm upgrade -f sunqiuming-chart/values.yaml my-nginx newrepo/testchart
#my-nginx是之前實例的名稱,可以通過“helm list”查看實例名稱
#newrepo/testchart :爲自定義倉庫中的chart包

———————— 本文至此結束,感謝閱讀 ————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章