helm之chartmuseum


1、概述

helm使得在k8s集群里面部署應用變得更簡單,就像在linux系統里面使用yum安裝軟件一樣,helm主要是利用的chart,首先看一下chart的結構:

# tree zipkin
zipkin
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── ingress.yaml
│   ├── NOTES.txt
│   └── service.yaml
└── values.yaml

charts: 是依賴的charts

Chart.yaml:是chart的版本和配置信息

templates:配置模版目錄

deployment.yaml: k8s的deployment  project

ingress.yaml: ingress代理

service.yaml:kubernetes  service 定義文件

_helpers.tpl:用於修改kubernetes  object

NOTES.txt: helm 提示信息

values.yaml: 配置參數

 

如果采用網關做代理,可以去掉ingress.yaml。直接使用ambassador和kong來實現。

# tree zipkin
zipkin
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── NOTES.txt
│   └── service.yaml
└── values.yaml
# cat Chart.yaml
apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: zipkin
version: 0.1.0

當我們定義完chart后需要有個地方存儲,就像docker的imag,存儲到registry。

需要安裝helm-push plugin,默認是沒有安裝的。

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

首先要部署一個這樣的倉庫去存儲chart,就是本文要介紹的chartmuseum。

2、部署

就是一個二進制的可執行文件,linux系統安裝:

curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum

參考github:https://github.com/helm/chartmuseum

啟動:

nohub chartmuseum --debug --port=8080 --storage=local --storage-local-rootdir=/data/chartmuseum --basic-auth-user=hu --basic-auth-pass=hqhelm --cache=redis --cache-redis-addr=127.0.0.1:6379 --cache-redis-db=0 >2&1 &

使用本地存儲,緩存到redis里面,所以需要提前准備好一個redis服務,並添加了用戶密碼認證。

 

3、使用

helm repo add  chartmuseum  http://127.0.0.1:8080 --username hu --password hqhelm --tiller-namespace tiller-world
helm plugin install https://github.com/chartmuseum/helm-push
helm  create  demo

修改完成以后,直接上傳
helm push  demo  chartmuseum
helm  install -n demo  chartmuseum/demo   --tiller-namespace  tiller-world  --namespace default

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM