文档章节

Helm 3 使用 harbor 作为仓库存储 charts

i
 innerpeacez
发布于 07/26 18:51
字数 1078
阅读 14
收藏 0

简介

本文讲述的是调教 Helm 3 和 harbor 1.6+ 的经验,从 helm2 更新到 helm 3 并且将 charts 推送到 harbor 中进行存储,移除了原先的 helm serve,在讲述怎么操作之前先来看一下Helm 3 和 Harbor 1.6+ 的新特性。

Helm 3 新特性

  • 移除了 Tiller
  • 不同的 namespace 可以使用相同的 Release Name
  • 简化模板对象 .Capabilities
  • 使用JSONSchema验证 charts 的 Values
  • requirements.yaml合并到Chart.yaml
  • helm install 时需要指定 Release Name,开启自动生成需要 --generate-name 参数
  • 支持 push 到远端 registry (如:harbor)
  • 移除 helm serve
  • 命令行变化(将原先的命令保留为别名Aliases)
    • helm delete --> helm uninstall
    • helm inspect -> helm show
    • helm fetch -> helm pull
  • go 导入路径改变 k8s.io/helm --> helm.sh/helm

具体新特性可以参考Helm 3 新特性,或者参考Helm 官方文档

Harbor v1.6.0 新特性

  • 支持存储 helm charts
  • ...

这里没什么好说的,想要了解更多关于Harbor的,可以参考官方Github

调教开始

在了解了以上新的特性之后,让我着手来操作吧

环境
  • kubernetes 1.10+
  • helm 3
  • harbor 1.6+
调教步骤
  1. 确保kubernetes环境可用
  2. 下载并初始化 helm 3
  3. 安装 harbor 1.6+
  4. 添加 harbor 中的 chartrepo 到 helm 3 中
  5. 安装使用 helm-push 插件
1.确保kubernetes环境可用

这里就不多说 kubernetes 环境的具体搭建过程了,搭建步骤随处可见。

2.下载并初始化 helm 3

首先执行一下命令,下载并解压安装包

wget https://get.helm.sh/helm-v2.14.2-linux-amd64.tar.gz
tar zxvf helm-v2.14.2-linux-amd64.tar.gz
cd linux-amd64
cp helm /usr/local/bin

解压之后,你如果使用过helm 2 你会发现里面tiller的二进制文件不见了,前文的新特性中已经说了,helm 3 已经移除了 tiller

接下来初始化 helm

helm init

1563862747766

默认添加官方 repo stable https://kubernetes-charts.storage.googleapis.com

3.安装 harbor 1.6+

这里我使用的是 harbor 官方提供的 charts repo,好奇心驱使我打开了这个网站 https://helm.goharbor.io/

1563863645436

这熟悉的界面让我严重怀疑是使用的 helm serve 启的 repo(滑稽脸)

添加harbor repo

helm repo add goharbor https://helm.goharbor.io

这个 repo 只有一个charts harbor ,对应的 harbor 版本为1.8.1

在安装之前我们需要配置一下 kube config context

查看当前的context

kubectl config current-context

设置 context 指定对应的 namespace ,不指定使用的是 default

kubectl config set-context <current-context> --namespace test

这里是因为,helm 3 开始helm 3 的执行权限和kubectl config 的权限是一致的,通过kubectl config的方式来控制helm 3 的执行权限。

按时安装harbor ,这里为了简化测试操作,我关闭了数据卷的挂载并使用的是 NodePort 方式进行访问。

helm -n test install harbor goharbor/harbor --set persistence.enabled=false --set expose.type=nodePort --set expose.tls.enabled=false --set externalURL=http://192.168.10.196:30002

参数说明:

  • persistence.enabled=false 关闭存储,为了方便操作,真实使用时需要挂在存储
  • expose.type=nodePort 使用 NodePort 访问
  • expose.tls.enabled=false 关闭tls
  • externalURL=http://192.168.10.196:30002 设置登录 harbor 的外部链接

出现以下返回,就证明已经开始安装了

NAME: harbor
LAST DEPLOYED: 2019-07-23 11:00:38.525597536 +0800 CST m=+0.690703892
NAMESPACE: test
STATUS: deployed

NOTES:
Please wait for several minutes for Harbor deployment to complete.
Then you should be able to visit the Harbor portal at https://core.harbor.domain. 
For more details, please visit https://github.com/goharbor/harbor.
4.添加 harbor 中的 chartrepo 到 helm 3 中

harbor 装好之后,我们访问 http://192.168.10.196:30002 进行登录 harbor, harbor 的默认账号密码是 admin/Harbor12345

1564133342050

新建一个chart repo

1564133389826

创建一个 test 用户

1564134352276

添加 repo 到 helm 中

helm repo add test http://192.168.10.76:30002/chartrepo/chart_repo
5.安装使用 helm-push 插件
helm plugin install https://github.com/chartmuseum/helm-push

这里最好本地配置一下 github 的 dns 地址,不然可能会出现链接超时的现象

安装好插件之后,就可以push charts 到 harbor 里面了

helm push grafana-0.0.2.tgz test --username test --password xxx

1564135632193

出现以上就说明 push 成功了 ,恭喜!!!

参考


> - Github: https://github.com/innerpeacez > - 个人Blog: https://ipzgo.top > - 日拱一卒,不期速成</current-context>

© 著作权归作者所有

i
粉丝 0
博文 8
码字总数 9338
作品 0
杭州
私信 提问
Harbor 1.6推出Helm Chart管理、复制过滤等新功能、视频演示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q48S71bCzBeYLOu9T0n/article/details/83005635 题图摄于北京奥林匹克塔:中国樽及CBD楼群 Harbor 开源项目在...

亨利笔记
2018/10/09
0
0
k8s上安装并初始化Helm。minikube

helm简介 Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用。 Helm 采用客户端/服务器架构,有如下组件组成: Helm CLI 是 Helm 客户端,可以在...

xiaomin0322
2018/07/15
717
0
发现之旅:探索托管 Helm Charts 的正确方式

在2018 KubeCon大会上 K8s Helm 可谓是备受瞩目。Helm相对于 Kubernetes而言,就类似Ubuntu上的APT,和CENTOS上的yum命令。Helm把整个的Kubernetes的资源进行打包。好处第一是复用性,第二是...

程序员的那些事_
2018/11/01
0
0
Harbor最新进展,将由CNCF管理

Harbor(https://goharbor.io)是一个企业级的容器镜像仓库管理系统,用于为企业级用户建立私有的容器镜像库,一方面可以对内部安装的网络传输加速,另一方面提供自己特有的版本更好地保证可...

openthings
2018/09/19
223
0
Harbor快速部署到Kubernetes集群及登录问题解决

Harbor(https://goharbor.io)是一个功能强大的容器镜像管理和服务系统,用于提供专有容器镜像服务。随着云原生架构的广泛使用,原来由VMWare开发的Harbor也加入了云原生基金会(参考《Har...

openthings
02/23
528
2

没有更多内容

加载失败,请刷新页面

加载更多

PCB设计-Allegro软件入门系列-allegro环境变量和快捷键

Allegro作为一款高速PCB设计的EDA软件,有完善的约束规则设计和信号完整性电源完整性仿真等各种专业工具深受电子行业从业者喜爱。 对于该软件来说,电子从业者接触最多的就是Allegro的画板功...

demyar
1分钟前
0
0
腾讯云存储

1、进入腾讯云平台,创建 2、进入配置查看域名 3、查看KEY参数 4、将2、3中的参数录入到cms后台 然后点测试按钮查看情况

迅睿CMS-PHP开源CMS程序
3分钟前
0
0
ES 6.x 版本 待验证的CURL命令查询操作

1. 查询数据 curl -H "Content-Type: application/json" -XGET http://elastic:123456@127.0.0.1:9200/alias1/_search -d '{"query": {"match_all": {}}}' 2. 添加数据 如果有不指定ID可以自......

coord
10分钟前
0
0
如何写好论文摘要:研究人员不得不知的小秘诀

我们为何要写摘要? 它的目的为何? 简而言之,摘要的目的就是简单的讨论这篇文章让读者更容易的了解这篇文。 它能在读者与作者之间搭起一条桥梁。当您搜索信息时,您无法一下阅读整篇文章,...

论文辅导员
13分钟前
0
0
移动端、PC端(前后台)、小程序常用的UI框架

移动端、PC端(前后台)、小程序常用的UI框架 1.移动端UI库 ①.Vant UI 官方地址:https://youzan.github.io/vant/#/zh-CN/intro github地址:https://github.com/youzan/vant 优点:用来做移...

jason_kiss
13分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部