首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

kubernetes helm chart

1. chart

创建chart

helm create alpine目录结构如下所示,我们主要关注目录中的这三个文件即可:Chart.yaml、values.yaml和NOTES.txt。

alpine

├── charts

├── Chart.yaml

├── templates

│ ├── deployment.yaml

│ ├── _helpers.tpl

│ ├── NOTES.txt

│ └── service.yaml

└── values.yaml打开Chart.yaml,填写应用的详细信息打开并根据需要编辑 values.yamlchart校验/打包对Chart进行校验

$ helm lint alpine

==> Linting alpine

[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures可以添加一个图标,在Chart.yaml最后一行里添加:

$ vi alpine/Chart.yaml

icon: https://cdn.kelu.org/kelu.jpg对Chart进行打包:

$ helm package alpine --debug

Successfully packaged chart and saved it to: /var/local/k8s/helm/alpine-0.1.0.tgz

[debug] Successfully saved /var/local/k8s/helm/alpine-0.1.0.tgz to /root/.helm/repository/localchart中定义依赖在chart目录中创建一个requirements.yaml文件定义该chart的依赖。

$ cat > ./alpine/requirements.yaml

dependencies:

- name: mariadb

version: 0.6.0

repository: https://kubernetes-charts.storage.googleapis.com

EOF通过helm命令更新和下载cahrt的依赖

$ helm dep update ./alpine

Hang tight while we grab the latest from your chart repositories...

...Successfully got an update from the "local" chart repository

...Successfully got an update from the "monocular" chart repository

...Successfully got an update from the "stable" chart repository

Update Complete. ⎈Happy Helming!⎈

Saving 1 charts

Downloading mariadb from repo https://kubernetes-charts.storage.googleapis.com

Deleting outdated charts在次安装运行chart时会把依赖中定义的chart运行起来。部署本地repo使用Helm serve命令启动一个repo server,该server缺省使用’$HELM_HOME/repository/local’目录作为Chart存储,并在8879端口上提供服务。

helm serve --address 0.0.0.0:8879 &启动本地repo server后,将其加入Helm的repo列表。

helm repo add local http://127.0.0.1:8879

"local" has been added to your repositories也可以把每个chart打包的文件集中存放到charts目录,使用以下命令生成index.yaml文件。

mkdir -p charts

mv alpine-0.1.0.tgz charts/

$ helm serve --repo-path ./charts --address 0.0.0.0:8879 &测试可以看到index.yaml的内容为:

我们可以自定义repo地址:

helm serve --address 0.0.0.0:8879 --url http://eur2.kelu.org:8879 &

helm serve --repo-path ./charts --address 0.0.0.0:8879 --url http://eur2.kelu.org:8879 &可以发现index.yaml 的 url 地址变了重建 chart 链接

helm repo index charts --url http://192.168.122.1:81/charts或者,在index.yaml中之增加新cahrt的元数据信息。

helm repo index charts --url http://192.168.122.1:81/charts --merge

2. repo

添加 repo通过以下命令增加repo

helm repo add charts http://192.168.122.1:81/charts

[root@k8s-master ~]# helm repo list

NAME URL

local http://127.0.0.1:8879/charts

stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

monocular https://kubernetes-helm.github.io/monocular

charts http://192.168.122.1:81/charts更新repo如果repo有更新,执行repo update命令会更新所以已增加的repo

helm repo update使用mongo删除在monocular的repomonocular的repo是存在数据库中的,与命令行的helm完全独立。当你在monocular中添加一个拥有很多内容的源的时候,api容器组会不断缓存,只有缓存完成后才会提供服务,此时你心急如焚想删掉这个该死的源,可以直接在mongo数据库里删除:

「滋磁一下」

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180620G1TZB200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券