Kubernetes学习之包管理工具(Helm)

一、基础知识

        1.如果我们需要开发微服务架构的应用,组成应用的服务可能很多,使用原始的组织和管理方式就会非常臃肿和繁琐以及较难管理,此时我们需要一个更高层次的工具将这些配置组织起来。

        2.helm架构:

                chart:一个应用的信息集合,包含kubernetes对象的配置模板、参数设定、依赖关系等,其类似于apt、yum中的软件安装包

                release:为chart的运行实例,代表一个正在运行的应用,当chart安装到kubernetes中就会生成一个release,chart能够多次安装到同一个集群中且每次安装都是一个release。

        3.helm的两个组件:

                helm客户端和tiller服务器:

                        helm客户端(终端用户使用的命令行工具):

                        在本地开发chart

                        管理chart仓库

                        与tiller服务器交互

                        在远程kubernetes集群上安装chart

                        查看release信息并升级或卸载已有的release

                        tiller服务器:

                        监听来自helm客户端的请求

                        通过chart构建release

                        在kubernetes中安装chart并跟踪chart的状态

                        通过api server升级或卸载已有的release

                4.安装helm

                        通过命令安装,然后执行:

                        helm  complention  bash > .helmrc  echo  “source  .helmrc”  >>.bashrc

                        以上命令执行后可以通过tab键补全helm子命令和参数

                        执行 helm  init安装tiller服务器,实际上,tiller本身作为容器化应用运行在kubernetes cluster中。

                5.使用helm

                        helm search 查看当前可安装的chart,其helm有两个默认配置好的仓库:stable和local,其中stable是官方仓库,local仓库是用户存放自己开发的chart本地仓库。

                安装chart:

                        helm  install  stable/mysql

        

                        其中,name是release的名字,一般为随机生成,namespace是release部署的namespace,默认为default,可以通过--namespace指定

                        status为deployed,表示已经将chart部署到集群

                helm  list:显示已经部署的release

                helm  delete:删除release

                6.chart的目录结构:

                        

                requirement.yaml:chart可能依赖其他chart,这些依赖关系可通过requirements.yaml指定,在安装过程中,依赖的chart也会被一起安装

                values.yaml:chart支持在安装时根据参数进行定制化配置,该文件提供这些配置参数的默认值

                templates:各类资源的配置模板

                helm通过模板创建kubernetes能够理解的yaml格式的配置文件

                下图示例:

                

                7.定制化安装chart:

                        helm两种方式传递配置参数:

                        指定自己的values文件,先通过 helm  inspect  values   mysql > myvalues.yaml生成values文件,执行  helm  install  --values=myvalues.yaml  mysql

                        通过 --set直接传入参数值

                

                8.升级和回滚release

                        release发布后可执行 helm upgrade对其进行升级

                

                        helm  rollback可以回滚到任何版本,helm可以查看release所有版本

                9.开发自己的chart

                创建chart:执行helm create mychart 创建 mychart,helm会为我们创建目录生成各类chart文件

                调试chart:helm lint mychart会检测chart的语法,helm install  --dry-run --debug会模拟安装chart,并输出每个模板生成的yaml内容

                10.安装chart

                

                11.将chart添加到仓库

                任何http server都可以作为chart仓库

                

                通过helm package mychart将其打包,该操作也会被同步到local仓库

                执行helm  repo  index生成仓库的index文件:helm repo index  myrepo/  --url  http://192.168.56.106:8080/charts,helm会扫描myrepo目录中的所有tgz包生成index.yaml,其中--url指定的是新仓库的访问路径

                通过helm repo add将新仓库添加到helm

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值