k8s包管理Helm命令大全
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,前言helm的三个核心概念:Chart: chart就是一个安装包,类似与rpm,deb这样的安装包Reporitory: 仓库,一个http服务器存放Charts包. 安装完helm之后,默认配置了
千家信息网最后更新 2024年11月26日k8s包管理Helm命令大全
前言
helm的三个核心概念:
- Chart: chart就是一个安装包,类似与rpm,deb这样的安装包
- Reporitory: 仓库,一个http服务器存放Charts包. 安装完helm之后,默认配置了谷歌官方stable仓库.
- release: heml install一个chart之后生成的实例.一个chart每次安装都会产生一个release.
release之间没有直接关系,每个release有revision,对应这个release在helm管理下的版本.
helm安装有四种方式:
- 从repository,
helm install stable/mysql
- charts打包后的tgz包,
helm install mysql-2.3.tgz
- 从tgz解压后的charts目录,
helm install mysql/
- 从url,
helm install http://127.0.0.1:8879/charts/mysql
helm的日常使用:
一个release的生命周期
首先查找包,如想要安装mysql,
helm search mysql
,mysql是个关键字,如果一个chart中的chart.yaml文件内定义了这个关键字,则可以被搜索到.$ helm search mysqlNAME CHART VERSION APP VERSION DESCRIPTION stable/mysql 1.3.0 5.7.14 Fast, reliable, scalable, and easy to use open-source rel...stable/mysqldump 2.5.0 2.4.1 A Helm chart to help backup MySQL databases using mysqldump stable/prometheus-mysql-exporter 0.5.1 v0.11.0 A Helm chart for prometheus mysql exporter with cloudsqlp...stable/percona 1.1.0 5.7.17 free, fully compatible, enhanced, open source drop-in rep...stable/percona-xtradb-cluster 1.0.0 5.7.19 free, fully compatible, enhanced, open source drop-in rep
查看安装包的内容,helm inspect -h, helm inspect values 只查看暴露的自定义参数, 或者直接helm fetch下载此安装包至当前目录.
$ helm inspect values stable/mysql## mysql image version## ref: https://hub.docker.com/r/library/mysql/tags/##image: "mysql"imageTag: "5.7.14"busybox: image: "busybox" tag: "1.29.3"testFramework: image: "dduportal/bats" tag: "0.4.0"## Specify password for root user#### Default: random 10 character string# mysqlRootPassword: testing
- 根据查看到的values来自定义安装或直接安装.helm install, 使用
helm template $chartsName
输出K8s的资源文件,参数与install一样.使用--dry-run --debug
来模拟安装过程并打印配置信息.cat << EOF > config.yamlmariadbUser: user0mariadbDatabase: user0dbEOFhelm install stable/mysql -f configure.yaml --set service.nodePort=31313# 只查看安装过程中的文件,不进行实际安装.helm install stable/mysql -f configure.yaml --set service.nodePort=31313 --debug --dry-run# 输出对应k8s的yaml文件helm template stable/mysql -f configure.yaml --set service.nodePort=31313
- 查看安装后的release, helm ls, 可以查看release的名字,revision版本,更新时间,当前状态,chart版本,app版本,namespace.
$ helm lsNAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACEgilded-mule 6 Wed Jul 17 10:31:33 2019 DEPLOYED minio-2.5.0 RELEASE.2019-05-14T23-57-45Z default hopping-rottweiler 1 Wed Jul 17 10:06:06 2019 FAILED minio-2.5.0 RELEASE.2019-05-14T23-57-45Z default modest-tuatara 1 Wed Jul 17 10:09:30 2019 FAILED qujun-2.5.0 RELEASE.2019-05-14T23-57-45Z default
查看release当前安装的资源状态,helm status $releaseName.
$ helm status gilded-muleLAST DEPLOYED: Wed Jul 17 10:31:33 2019NAMESPACE: defaultSTATUS: DEPLOYEDRESOURCES:==> v1/ConfigMapNAME DATA AGEgilded-mule-minio 1 68m==> v1/PersistentVolumeClaimNAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGEgilded-mule-minio Pending 68m==> v1/Pod(related)NAME READY STATUS RESTARTS AGEgilded-mule-minio-84f85fff78-rv6r6 0/1 Pending 0 68m==> v1/SecretNAME TYPE DATA AGEgilded-mule-minio Opaque 2 68m...........
查看release详细信息,heml get $releasename, 查看对应k8s的yaml文件, helm get manifest $releaseName.查看安装时自定义的value.heml get values $releasename
$ helm get gilded-mule REVISION: 6RELEASED: Wed Jul 17 10:31:33 2019CHART: minio-2.5.0USER-SUPPLIED VALUES:service: nodePort: 31312COMPUTED VALUES:DeploymentUpdate: maxSurge: 100% maxUnavailable: 0 type: RollingUpdateStatefulSetUpdate: updateStrategy: RollingUpdate ......# 查看这个release安装时自定义的参数.$ helm get values gilded-mule service: nodePort: 31312
- 升级,回退,查看版本记录,helm upgrade, helm rollback, helm hisotry
helm upgrade --set service.nodePort=31312 gilded-mule stable/minio helm rollback gilded-mule 1helm hisotry gilded-mule
- 删除
helm delete $releaseNamehelm list --all
repository的使用
- 查看当前的仓库,helm repo list
- 在本机创建自己的仓库
mkdir -p ~/my-reponohup helm serve --address 127.0.0.1:8879 --repo-path ~/my-repo 此时会在mys-repo下新建一个index.html文件
- 添加自己的仓库
helm repo add my-repo http://127.0.0.1:8879
在自己仓库中添加包,更新index
# 先去github上下载chartscp -r mysql ~/my-repocd ~/my-repohelm package mysql --save=false helm repo index --url=http://127.0.0.1:8879 .
- 更新仓库缓存,helm update
创建自己的charts
- 快速创建模板,
helm create my-charts
,修改对应内容 - 打包,然后拷贝至repository的目录,然后执行更新index操作. helm package
- 安装,
helm install . 或 helm install my-charts.tgz
- 验证charts格式,helm lint
- 查看charts文件内容.
helm inspect chart my-charts
- 查看value文件内容.
helm inspect values my-charts
- 查看charts目录下文件内容.
helm inspect my-charts
- 查看charts模板渲染后k8s的yaml,
helm template my-charts -f configfile --set a=b
注意: 如果tiller的serviceaccount只有自己namespace的权限,那么charts中的namespaces也需要指定在tiller的namespaces中.
文件
仓库
内容
版本
目录
更新
参数
信息
关键
关键字
模板
状态
资源
过程
输出
配置
管理
三个
上下
之间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2019网络安全宣传周河北
深圳嵌入式软件开发价钱
华为服务器开机初始密码
潮州精益软件开发
数据库表如何维护
深圳高级软件开发培训
全球海底光缆服务器
酒店 网络安全审计
复杂网络安全绘画
服务器散热片哪个品牌好
lng服务器内部错误是怎么回事
服务器机房建设标准
python自动删除数据库信息
登陆数据库 2008
传奇服务器不能注册账号问题教程
服务器 阵列
为什么网络安全系统那么强大
海安鸦退网络技术有限公司
济南物联网大数据平台软件开发
网络技术应用教案试题
加强全民 是网络安全生态
软件开发经理月度总结报告
邛崃软件开发
坚果手机连接打印服务器
湖南客户管理软件开发平台
2016恢复备份的数据库
服务器路由器监控
下面哪种数据库对象是虚拟表
数据库系统三级模式理解
xp vpn服务器设置