简单的概念介绍:

Chart是helm管理的应用的打包格式,一个chart对应一个或一套应用。内部是一系列的yaml描述文件,以为为yaml 服务的文件。

三个部分,helm 、tiller、repo 。helm,类似于 client,用来执行一些操作命令;tiller,运行依赖k8s环境,接收helm的指令,实际进行集群内部应用的管理;repo,应用的仓库,独立于前两者,提供chart。

1,helm-client下载地址

https://github.com/kubernetes/helm

只是搭建仓库的话,只需要helm client 不用安装helm 的server(tiller),k8s或者rancher

2,获取charts,创建仓库(repo),更新仓库

添加仓库源:helm repo add fantastic-charts https://fantastic-charts.storage.googleapis.com

获取某个chart: helm search chartName ; 然后,helm fetch chartName。

创建仓库 :所有要用来组成仓库的chart的打包格式 要在一个文件夹内,这里假设这个文件夹命名charts,下同。在 charts的上层文件夹执行: helm serve --repo-path ./charts 这会生成一个,index.yaml ,与chart 的包同级目录。

新加入chart的时候,要更新inde.yaml才能生效。命令; helm repo index ./charts(目录)

仓库只识别包(eg: XXX.tgz)的形式。自己创建的chart 需要package 一下,在加入repo。 (helm package chart-name/)

启动仓库,在Rancher 里应用

启动仓库

(Rancher) 用gitserver的形式,提供仓库:把各个chart 的文件夹,直接添加到git中,push到远程仓库,远程仓库的地址即可用在Rancher里。(严格意义上并不是一个helm的仓库,只是一个chart的集合)。

  

rancher,内添加:Gloable内的 cataLog里,addcataLog,即添加到了Rancher内 。

如果在线的git servier 不能用,可以搭建 git server :

创建 git仓库:git init --bare name.git

启动server :git daemon --reuseaddr --base-path=/home/repo(name.git 的外层目录) --export-all --verbose --enable=receive-pack

还可以直接跑一个gitlab 的镜像,方便快捷!

Rancher 不支持下面两种方式的helm repo,可以给helm client用

python 启http服务的形式,在charts的上层目录执行: python -m SimpleHTTPServer 8777

然后,http://ip:portnum/charts/ 即为可用的应用商店的地址。

helm serve --repo-path path --address ip:portNum 直接用helm 启动的方式。

官方doc

http://helm.readthedocs.io/en/latest/

转载注明出处:

https://www.jianshu.com/p/f5f420154fa0

helm-chart-1-简单概念介绍-仓库搭建-在rancher上的使用的更多相关文章

  1. Zookeeper简单概念介绍

    过去,每个应用都是一个CPU.一个主机上的单一系统.然而今天,随着大数据和云计算时代的到来,不论什么相互独立的程序都可以运行在多个计算机上.然而面临的问题是,协调这些集群的系统比在单一主机上要复杂的多 ...

  2. Nosql 和 Sql 简单概念介绍

    Nosql (非关系数据库) 代表数据库:redis / hbase /mongoDB /CouchDB /Neo4J 存储数据使用的是数据结构化存储方法的集合,意味着数据的存储可以是文档.集合.键值 ...

  3. 云原生交付加速!容器镜像服务企业版支持 Helm Chart

    2018 年 6 月,Helm 正式加入了 CNCF 孵化项目:2018 年 8 月,据 CNCF 的调研表明,有百分之六十八的开发者选择了 Helm 作为其应用包装方案:2019 年 6 月,阿里云 ...

  4. 如何选出适合自己的管理Helm Chart的最佳方式?

    本文转载自Rancher Labs 无论你喜欢与否,你都不得不承认Helm是管理Kubernetes应用程序独一无二的工具,你甚至可以通过不同的方式使用它. 在Helm的使用过程中,我们注意到有几个问 ...

  5. Helm Chart 一键部署 Jenkins

    Jenkins Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.目前提供超过1000个插件来支持构建.部署.自动化, 满足任何项目的需要. Jenki ...

  6. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  7. Linux LVM硬盘管理之一:概念介绍

    一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...

  8. Java SE/ME/EE的概念介绍

    转自 Java SE/ME/EE的概念介绍 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. ...

  9. JS图表组件 highcharts 简单的介绍

    把highcharts拿来做个简单的介绍,希望更多的朋友可以用到这个用来做图表的js插件. preparation Highcharts Highcharts是一个制作图表的纯Javascript类库 ...

随机推荐

  1. webpack学习笔记--压缩代码

    浏览器从服务器访问网页时获取的 JavaScript.CSS 资源都是文本形式的,文件越大网页加载时间越长. 为了提升网页加速速度和减少网络传输流量,可以对这些资源进行压缩. 压缩的方法除了可以通过 ...

  2. 常用js正则表达式大全

    常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...

  3. noip2017逛公园

    题解: 之前知道正解并没有写过.. #include <bits/stdc++.h> using namespace std; #define rint register int #def ...

  4. 【Codeforces】Codeforces Round #551 (Div. 2)

    Codeforces Round #551 (Div. 2) 算是放弃颓废决定好好打比赛好好刷题的开始吧 A. Serval and Bus 处理每个巴士最早到站且大于t的时间 #include &l ...

  5. 麒麟Kylin

    开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(MOLAP)能力以支持超大规模数据,能在亚秒内查询巨大的Hive表: Kylin的主要特点包括支持SQL接口.支持超大 ...

  6. 039 在weblogic下部署jndi的多数据源

    这个问题,在公司遇到了,一直没有学,今天学了一下. 后续,还要实验一下,暂时粘贴一下一个不错的url:https://www.cnblogs.com/xdp-gacl/p/4201094.html

  7. 058 kafka与log4j集成

    1.首先在resources下面写log4j.properties 主要是因为kafka.producer.KafkaLog4jAppender类的存在. log4j.rootLogger=INFO, ...

  8. day19 正则,re模块

    http://www.cnblogs.com/Eva-J/articles/7228075.html  所有常用模块的用法 正则的规则: 在一个字符组里面枚举合法的所有字符,字符组里面的任意一个字符和 ...

  9. 利用log4添加log

    應用log4net.dll 新建Global.asax,在cs文件中添加 protected void Application_Start(object sender, EventArgs e)    ...

  10. 【python】常用第三方模块

    No1: [Pillow]图像处理标准库 缩放 from PIL import Image # 打开一个jpg图像文件,注意是当前路径: im = Image.open('test.jpg') # 获 ...