helm3使用需要注意的并推送charts到harbor

HELM3使用需要注意的

不需要Tiller了

以前安装helm2的时候会在k8s集群中安装一个叫tiller的容器,用于和集群交互,helm3移除了tiller这个组件,默认通过~/.kube/config与集群进行交互,也就是说使用了与kubctl相同的上下文访问权限,若不在默认位置可通过–kubeconfig参数进行指定,按照官方安装文档安装即可直接使用

更新某个release到新的版本,回滚到上一个版本

原来是0.1.0现在更新到0.1.1,然后回滚

[root@EPG1 mychart]# helm list
NAME    	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART        	APP VERSION
mycharts	default  	1       	2020-02-20 14:52:57.724255389 +0800 CST	deployed	mychart-0.1.0	1.16.0 
[root@EPG1 ~]# helm upgrade mycharts myharborlib/mychart --version 0.1.1
Release "mycharts" has been upgraded. Happy Helming!
NAME: mycharts
LAST DEPLOYED: Thu Feb 20 15:48:49 2020
NAMESPACE: default
STATUS: deployed
REVISION: 2
TEST SUITE: None
[root@EPG1 ~]# helm list
NAME    	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART        	APP VERSION
mycharts	default  	2       	2020-02-20 15:48:49.307073392 +0800 CST	deployed	mychart-0.1.1	1.16.1     
[root@EPG1 ~]# helm rollback mycharts
Rollback was a success! Happy Helming!
[root@EPG1 ~]# helm list
NAME    	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART        	APP VERSION
mycharts	default  	3       	2020-02-20 15:57:44.582470748 +0800 CST	deployed	mychart-0.1.0	1.16.0     

推送到harbor

可从charts仓库推送或下载charts

目前尝试过推送到harbor中,首先harbor要支持charts,需要在安装时添加参数–with-chartmuseum

./install.sh  --with-chartmuseum

harbor安装自行百度

这样在harbor的项目详情页面就会有个叫 Helm Charts 的标签
helm3使用需要注意的并推送charts到harbor_第1张图片

下载charts默认支持,不多做介绍,推送charts到harbor目前遇到一些坑下面做简要介绍

helm(3.0.3)现在默认不支持推送到charts库,需要安装插件helm-push

https://github.com/chartmuseum/helm-push

helm plugin install https://github.com/chartmuseum/helm-push

由于网络原因这样安装可能会安装,我是先直接这样安装了一下,超时了没装成功,然后又在网上直接下载的文件放到了/root/.local/share/helm/plugins/这个目录里面,然后好使了。

push charts 先要添加repo(其实不加好像直接url也行,我这里先加上)

helm repo add myharborlib  https://[harbor-domain-name]/chartrepo/chart_repo --ca-file /root/helm/ca/newca/ca.crt

因为harbor默认是带ssl认证的所以得需要上harbor上找到之前的证书,这里是自签的证书/root/helm/ca/newca/ca.crt

[root@EPG1 .kube]# helm repo list
NAME       	URL                                                         
harbor     	https://helm.goharbor.io                                    
myharborlib	https://[harbor-domain-name]/chartrepo/chart_repo

然后push,这里有个坑,我这项目chart_repo是公共项目,按理说公共项目是不要用户名密码的,但是不添加报错,加了就好了

helm push mychart/ myharborlib --ca-file /root/helm/ca/newca/ca.crt -u admin -p Harbor12345

至此就能把charts push到自己搭建的harbor上了,这次总结了目前认为比较坑的地方,以后有其他发现再添加到这个文档里。

你可能感兴趣的:(helm3使用需要注意的并推送charts到harbor)