26,k8s 之helm
Posted k8s-pod
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了26,k8s 之helm相关的知识,希望对你有一定的参考价值。
1,Helm 介绍 Helm是一个Kubernetes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。 Helm有两个重要概念: helm:一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理。 Chart:应用描述,一系列用于描述 k8s 资源相关文件的集合。 Release:基于Chart的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release;将在k8s中创建出真实运行的资源对象。 2,部署Helm客户端 Helm客户端下载地址:https://github.com/helm/helm/releases 解压移动到/usr/bin/目录即可。 wget https://get.helm.sh/helm-v3.0.0-linux-amd64.tar.gz tar zxvf helm-v3.0.0-linux-amd64.tar.gz mv linux-amd64/helm /usr/bin/ 3,Helm常用命令 | **命令** | **描述** | | ---------- | ------------------------------------------------------------ | | create | 创建一个chart并指定名字 | | dependency | 管理chart依赖 | | get | 下载一个release。可用子命令:all、hooks、manifest、notes、values | | history | 获取release历史 | | install | 安装一个chart | | list | 列出release | | package | 将chart目录打包到chart存档文件中 | | pull | 从远程仓库中下载chart并解压到本地 # helm pull stable/mysql --untar | | repo | 添加,列出,移除,更新和索引chart仓库。可用子命令:add、index、list、remove、update | | rollback | 从之前版本回滚 | | search | 根据关键字搜索chart。可用子命令:hub、repo | | show | 查看chart详细信息。可用子命令:all、chart、readme、values | | status | 显示已命名版本的状态 | | template | 本地呈现模板 | | uninstall | 卸载一个release | | upgrade | 更新一个release | | version | 查看helm客户端版本 | | ---------- | ------------------------------------------------------------ | 4,配置国内Chart仓库 微软仓库(http://mirror.azure.cn/kubernetes/charts/)这个仓库强烈推荐,基本上官网有的chart这里都有。 阿里云仓库(https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts ) 官方仓库(https://hub.kubeapps.com/charts/incubator)官方chart仓库,国内有点不好使。 添加存储库: helm repo add stable http://mirror.azure.cn/kubernetes/charts helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts helm repo update 查看配置的存储库: helm repo list helm search repo stable 一直在stable存储库中安装charts,你可以配置其他存储库。 删除存储库: helm repo remove aliyun [root@centos7 ~]# helm show values stable/mysql 安装包: helm install db stable/mysql 查看发布状态: helm status db 5,安装前自定义chart配置选项 上面部署的mysql并没有成功,这是因为并不是所有的chart都能按照默认配置运行成功,可能会需要一些环境依赖,例如PV。 所以我们需要自定义chart配置选项,安装过程中有两种方法可以传递配置数据: --values(或-f):指定带有覆盖的YAML文件。这可以多次指定,最右边的文件优先 --set:在命令行上指定替代。如果两者都用,--set优先级高 --values使用,先将修改的变量写到一个文件中 [root@centos7 helm]# cat pv.yml apiVersion: v1 kind: PersistentVolume metadata: name: pv0003 spec: capacity: storage: 8Gi accessModes: - ReadWriteOnce nfs: path: /data/nfs/wwwroot/ server: 192.168.0.14 [root@centos7 helm]#
以上是关于26,k8s 之helm的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes(k8s)之k8s的应用的包管理工具Helm