helm 学习(二)

发布时间 2023-03-25 12:26:04作者: 百因必有果

helm3内置对象

一、常用的内置对象

  • Release对象
  • Values对象
  • Chart对象
  • Capabilities对象
  • Tenpalte对象

二, 各个内置对下详解

1,Rekease对象  描述了版本发布的自身的一些信息,它包含了以下对象:

对象描述 描述
.Release.Name       Release的名称
.Release.Namespace    release的命名空间
.Release.IsUpgrade     如果当前操作是升级或者回滚的话,该值为true
.Release.IsInstall        如果当前操作是安装的话,该值是true
.Release.Revisin          获取此次修订的版本号,初次安装时为1 ,每次升级u哦这回滚都会递增
.Release.Service         获取渲染当前模板的服务名称,一般都是helm

 

2.values对象,描述的是value.yaml文件(定义变量的文件)中的内容,默认为空,使用Value对下可以获取到value。yaml文件中已经定义的任何变量的数值

Value 键值对     获取方式
name1:test1  .Value.name1

info:

   name2:test2       

 .Values.info.name2

3.Chart对象用于获取Charyaml文件中的内容

对象名称  描述
.Chart.Name   获取Chart的名称
.Chart.Version     获取CHart的版本

4,Cpabilities对象, 提供了关于k8s集群的相关的信息,该对象有如下的方法:

对象名称          描述
.Capabilities.APIVersions      

返回k8s集群API版本信息集合

.Capabilities.APIVersion.HAS $version  用于检测指定版本或者资源在k8s集群找那个是否可用,例如:apps/v1/Deployment
.Capabilities.KubeVersion和 .Capabilities.KubeVersion.Version   都用于获kubernetes版本号
.Capabilities.KubeVersion.Major   获取kubernetes主版本号
.Capabilities. KubeVersion.Minor         获取kubernetes的小版本号

5,Template对象 用于获取当前模板信息,它包含了如下两个对象

对象名称 描述
.Template.Name 用于获取当前模板的名称和路径(例如:mychart/templates/mtempalte.yaml)
.Template.BasePath 用于获取当前的模板路径(例如:mychart/tempales)

Helm

1.helm常用命令使用

version:查看helm客户端版本
repo:添加,列出,移出,狠狠心和索引chart仓库,可用于命令:add index list remove update
search:根据关键字搜索chart包
show:查看chart包的基本信息和详细信息,可用命令:all,chart,readme,value
pull:从远程仓库中下载拉取chart包名解压到本地,如:helm pull test-repo/tomcat-version 0.43 -untar,  untar是解压,不加就是压缩包
create:创建一个chart包并指定chart包名字
install: 通过chart包汉字一个release实例
list: 列出release实例
upgrade:更新一个release实例
rollback:从之前版本回滚release实例,也可以指定要回滚的版本号
uninstall:卸载一个release实例
history: 获取release历史,用法:helm history release实例名
package:将chart目录打包成chart存档文件中,例如:我们修改chart后,需要将其进打包例:helm package /opt/helm/work/tomcat(chart的目录路径)
get:下载一个release,可用子命令:all hooks,manifest,notes,values
status:显示release实例名状态,显示已命名版本的状态

2.helm添加chart仓库和查看仓库  类似yum仓库或者docker仓库

添加仓库:

可以添加多个仓库,添加仓库的时候,记得起个仓库名,如:stable aliyun或其他 一个起一个稳定版本的stable会优先使用。

helm repo add stable http://mirror.azure.cn/kuberentes/charts   #添加微软的,推荐
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts  #添加阿里云的
helm repo add test-repo http://mirror.kaiyuanshe.cn/kubernetes/charts/  #添加开源社区的

helm repo list  #列出仓库

#更新仓库:
helm repo update  #更新仓库,能更新所有的仓库