Helm入門及自定義Chart

♦ 交互流程: Helm -> Tiller -> API Serverlinux

♦ Chart:一個helm程序包,包含運行一個應用的工具和資源定義git

♦ Release: 在k8s集羣上運行的一個chart實例github

♦ Repository:用於存放和共享chart的倉庫;http/https服務器web

程序架構api

♦  Helm   本地客戶端,管理本地的chart倉庫,管理chart,與tiller服務器交互,發送chart,實例安裝、查詢、卸載等操做服務器

♦  Tiller 服務端,接收helm發來的chart和config,合併生成release;通常運行在k8s集羣上,運行在集羣以外,配置起來很是麻煩架構

 安裝helm:app

# wget https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz
# tar xf helm-v2.14.3-linux-amd64.tar.gz # cd linux-amd64/ # sudo cp helm /usr/bin/

 

集羣上安裝tiller:框架

♦  RBAC example :    https://github.com/helm/helm/blob/master/docs/rbac.md工具

建立tiller的rbac
# cat tiller-rbac.yaml
apiVersion: v1 kind: ServiceAccount metadata: name: tiller namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: tiller roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: tiller namespace: kube-system

生成rbac:
# kubectl apply -f tiller-rbac.yaml
安裝tiller
# helm init --service-account tiller

 

Helm倉庫管理:

♦ helm官方可用的chart: http://hub.kubeapps.com

# helm repo update   # 更新repo倉庫
# helm repo list # 查看當前使用的倉庫
# helm repo add xxx # 添加repo地址
# helm search xxx # 搜索應用
# helm inspect xxx # 查看chart的信息,會把chart下載到本地
# helm install xxx # 安裝chart
# helm delete xxx # 刪除release
# helm upgrade/rollback xxx # 升級/回滾
# helm list # 列出release
更多用法可使用 helm --help 查詢

 

Helm自定義Chart:

♦  https://helm.sh/docs/developing_charts/#charts

helm生成基礎框架
# helm create myapp

自定義修改myapp下的配置文件

檢查chart語法正確性 # helm lint myapp

打包自定義的chart
# help package myapp

打開自身做爲web服務器
# helm serve

刪除release並釋放release name
# helm delete --purge xxx

 

咱們能夠自定義修改chart包中的value.yaml來實現參數的修改

相關文章
相關標籤/搜索