Helm 3 使用


helm版本3直接下载二进制就可以了

https://github.com/helm/helm/releases

wget https://get.helm.sh/helm-v3.3.0-rc.2-linux-amd64.tar.gz

tar -zxvf helm-v3.3.0-rc.2-linux-amd64.tar.gz

cp linux-amd64/helm /usr/bin

chmod a+x /usr/bin/helm

 

 

helm3 的新特性

1. 去除Tiller 和 helm serve
现在helm命令通过kubeconfig 直接操作k8s集群,类似于kubectl
Helm使用与kubectl上下文相同的访问权限,也无需再使用helm init来初始化Helm
这点在helm部署和使用上方便了很多,也减少了服务发布可能遇到的因为tiller引起的异常
而且移除了 helm serve 的功能,不再本地提供chart仓库能力​
2. 预定义仓库被移除,添加helm hub
helm search 现在区分 repo 和hub
repo 是自己手动添加的源
比如官方的有稳定版和在建设的,还有ibm的
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
helm repo add ibmstable https://raw.githubusercontent.com/IBM/charts/master/repo/stable
# 此处 repo add 的时候,如果名称已存在了也不提醒,居然直接覆盖了,是bug吧
hub 是 helm 的中心库,各软件商需要在 hub 把应用更新到最新,我们才能在上面查到最新的,同dockerhub
这个建设还不久,好处是范围比较广泛, hub 搜到的包需要进入hub页面查看下载地址
我们可以把 hub 和 google repo 配合起来食用,效果更佳
helm search hub mysql
3. Values 支持 JSON Schema 校验器
当我们运行 helm install 、 helm upgrade 、 helm lint 、 helm template 命令时,JSON Schema 的校验会自动运行,如果失败就会立即报错。
这样等于是先都校验了一遍,再创建。 kubectl 说你呢,能不能学学!!!
4. 代码复用 - Library Chart 支持
Helm 3 中引入了一种新的 Chart 类型,名为 Library Chart 。它不会部署出一些具体的资源,只能被其他的 Chart 所引用,提高代码的可用复用性。当一个 Chart 想要使用该 Library Chart内的一些模板时,可以在 Chart.yaml 的 dependencies 依赖项中指定。
5. requirements.yaml 被整合到了 Chart.yaml 中,但格式保持不变
还有一些其他的功能,比如 helm test 等,不属于主要功能,且属于测试阶段,我还没有去尝试。

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

 

helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
helm repo add loki https://grafana.github.io/loki/charts
helm repo add elastic https://helm.elastic.co

 

配置仓库


helm search repo bitnami
helm show chart bitnami/mariadb
helm install harbor bitnami/harbor
helm uninstall harbor

本地包的使用方式

helm pull bitnami/kibana

tar -zxvf  kibana-5.3.6.tgz

cd kibana 

vim values.yaml

 

 

helm install  kibana .    --set elasticsearch.hosts[0]=es-elasticsearch-master,elasticsearch.port=9200

或者

helm package kibana

helm install  kibana kibana-5.3.6.tgz    --set elasticsearch.hosts[0]=es-elasticsearch-master,elasticsearch.port=9200

 

还有helm 安装相关插件推送chat包到私有仓库

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

helm  repo add devops https://harbor.xxx.net/chartrepo/devops --username devops --password xxxxxx

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

helm push harbor-1.6.2.tgz devops --username devops --password xxxxx

https://helm.sh/docs/topics/registries/

参考地址

https://blog.csdn.net/liumiaocn/article/details/103380446




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM