k8s包管理Helm命令大全
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,前言helm的三个核心概念:Chart: chart就是一个安装包,类似与rpm,deb这样的安装包Reporitory: 仓库,一个http服务器存放Charts包. 安装完helm之后,默认配置了
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
rpc服务器打印机错误
湖北互联网科技企业
移动公司网络安全工资
软件开发岗位占比
网络安全对我们的影响大学ppt
dns服务器连接宽带
冶金软件开发方向
铁路信号网络安全
软件开发各阶段 甲方职责
厦门地区养老软件开发
软件开发中的系统应用
佛山洛威网络技术工程有限公司
安仁计算机软件开发薪资
了解网络安全动态
北京守灯网络技术
最新发布网络安全战略的国家
教育部最新中小学生网络安全
海淀区企业软件开发多少钱
重大网络安全事件分析研判
宝山区会计网络技术欢迎咨询
非法备份公司数据库
网络技术节目
数据库集群如何数据一致性
周口技师学院网络安全
如何提高软件开发的质量
MySQL数据库实训报告大一
服务器上的图片会关联吗
松江区手机软件开发公司
远动通信服务器
网络安全培训学习情况