ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

部署helm私有库

2019-12-02 13:57:03  阅读:280  来源: 互联网

标签:私有 myrepo charts 部署 master helm root testchart


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包

———————— 本文至此结束,感谢阅读 ————————

标签:私有,myrepo,charts,部署,master,helm,root,testchart
来源: https://blog.51cto.com/14154700/2455216

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有