首页 > 其他 > 详细

Helm

时间:2020-05-25 14:45:25      阅读:52      评论:0      收藏:0      [点我收藏+]

Kubernetes包管理器 - Helm

概述

  • 功能就像YUM/APT(主要解决依赖问题)
  • 如何将Deployment、ConfigMap、Service、Ingress等服务器作为一个整体管理
  • 这些资源文件如何高效复用
  • 不支持应用级别的版本管理

重要概念

  • Helm:一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理
  • Chart:应用描述,一些列用于描述k8s资源相关文件的集合
  • Release:基于Chart的部署实体,一个Chart被Helm运行后将会生成对应的一个Release,将在K8s中创建出真实运行的资源对象

Helm v3变化(2019.11发布第一个Helm稳定版本)

架构变化

Tiller的删除(之前是作为Pod去部署的)
技术分享图片

Release名称可以在不同命名空间重用

支持讲Chart推送至Docker镜像仓库中

使用JSONSchema验证chart values

Others

  • 更名
helm delete -> helm uninstall
helm inspect -> helm show
helm fetch -> helm pull
  • 移除了用于本地临时搭建char Respository的helm serve命令
  • 自动创建命名空间(helm2会自动创建命名空间,helm3遵循其他Kubernetes对象的行为,不存在则返回错误)
  • 不在需要requirements.yaml,依赖关系是直接在char.yaml中定义

配置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 mysql
helm search repo aliyun mysql
  • 一直在stable存储库中安装charts,你可以配置其他存储库
  • 删除存储库
helm repo remove aliyun

Helm基本使用

  • chart install
  • chart upgrade
  • chart rollback

使用chart部署一个应用

  • 查找chart
helm search repo
helm search repo mysql
  • 查看chart信息
helm show chart stable/mysql
helm show values stable/mysql
  • 安装包
helm install db stable/mysql
  • 查看发布状态
helm status db

安装前自定义chart配置选项

--values(或-f):指定带有覆盖的YAML文件,可以多次指定。最右边的文件优先
helm show values stable/mysql > config.yaml
修改config.yaml配置文件即可
--set:在命令行上指定替代,如果两者都用,--set优先级高
helm install db --set persistence.storageClass="managed-nfs-storage" stable/mysql
直接修改模板文件
helm pull stable/mysql
helm pull stable/mysql --untar

helm install可以从多个来源安装

创建helm

  • helm create examplechart
  • 目录结构
.
├── charts
├── Chart.yaml
├── templates
│?? ├── deployment.yaml
│?? ├── _helpers.tpl
│?? ├── hpa.yaml
│?? ├── ingress.yaml
│?? ├── NOTES.txt
│?? ├── serviceaccount.yaml
│?? ├── service.yaml
│?? └── tests
│??     └── test-connection.yaml
└── values.yaml

# 获取渲染后的内容
helm get manifest hello

# helm版本回滚
# 上个版本
helm rollback hello
# 指定版本
helm rollback hello 1
# 打包
helm package examplechart
# 卸载
helm uninstall hello

Helm

原文:https://www.cnblogs.com/wangruixing/p/12956625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!