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