前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >helm——部署私有库

helm——部署私有库

作者头像
小手冰凉
发布2020-09-18 10:39:21
1.8K0
发布2020-09-18 10:39:21
举报
文章被收录于专栏:小手冰凉小手冰凉

1、运行web容器作为私有仓库(我在node01上运行这个容器)

代码语言:javascript
复制
#运行web容器
[root@docker-k8s02 ~]# docker run -d -p 81:80 -v /var/www:/usr/local/apache2/htdocs httpd
#创建目录,用于存放charts包
[root@docker-k8s02 ~]# mkdir -p /var/www/charts

2、通过helm package将tesetchart打包

代码语言:javascript
复制
[root@docker-k8s01 ~]# helm create testchart      #创建testechart
[root@docker-k8s01 ~]# helm package testchart    #进行打包
#执行打包操作后,会在当前目录下生成一个名为testchart-0.1.0.tgz的包

3、执行helm repo index生成库的index文件

代码语言:javascript
复制
[root@docker-k8s01 ~]# mkdir myrepo
[root@docker-k8s01 ~]# mv testchart-0.1.0.tgz myrepo/
[root@docker-k8s01 ~]# helm repo index myrepo/ --url http://192.168.20.3:81/charts
#上述的url是第一步所运行的httpd镜像所在的节点IP+端口
[root@docker-k8s01 ~]# ls myrepo/      #确定index.yaml文件已生成
index.yaml  testchart-0.1.0.tgz

4、将生成的index.yaml文件及charts包复制到httpd容器所在节点映射到本地的目录

代码语言:javascript
复制
[root@docker-k8s01 ~]# cd myrepo/
[root@docker-k8s01 myrepo]# scp index.yaml testchart-0.1.0.tgz docker-k8s02:/var/www/charts

5、通过helm repo add 将新仓库添加到helm

代码语言:javascript
复制
#下面的URL是web容器的URL
[root@docker-k8s01 myrepo]# helm repo add newrepo http://192.168.20.3:81/charts
[root@docker-k8s01 myrepo]# helm repo list   #确认返回的列表有新添加的仓库

其实,配置至此,已经可以正常供内网环境使用这个charts包的私有仓库了,下面是一些验证。

6、搜索复制到node01上的charts包

代码语言:javascript
复制
#搜索testchart(使用scp复制到docker-k8s02的包)
[root@docker-k8s01 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@docker-k8s01 myrepo]# ls
index.yaml  testchart-0.1.0.tgz
[root@docker-k8s01 myrepo]# rm -rf *
[root@docker-k8s01 myrepo]# helm search testchart
#还是可以看到私有仓库中的包的

7、从新的私有库中安装testchart进行测试

代码语言:javascript
复制
#可以像使用共有库一样使用这个私有库了
[root@docker-k8s01 myrepo]# helm install newrepo/testchart -n my-nginx

8、更新charts包所运行服务的镜像

其实就是一个服务版本升级的操作,大概思路如下:修改解压后的charts包目录下的values.yaml文件为所需的值(values.yaml文件包含的是这个服务的值,可以在里面指定镜像及标签、数据持久化的类型等等),修改完成后,再使用下面的命令进行升级操作。

代码语言:javascript
复制
[root@docker-k8s01 ~]# helm upgrade -f sunqiuming-chart/values.yaml my-nginx newrepo/testchart
#my-nginx是之前实例的名称,可以通过“helm list”查看实例名称
#newrepo/testchart :为自定义仓库中的chart包
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、运行web容器作为私有仓库(我在node01上运行这个容器)
  • 2、通过helm package将tesetchart打包
  • 3、执行helm repo index生成库的index文件
  • 4、将生成的index.yaml文件及charts包复制到httpd容器所在节点映射到本地的目录
  • 5、通过helm repo add 将新仓库添加到helm
  • 6、搜索复制到node01上的charts包
  • 7、从新的私有库中安装testchart进行测试
  • 8、更新charts包所运行服务的镜像
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档