k8s包管理Helm命令大全
发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,前言helm的三个核心概念:Chart: chart就是一个安装包,类似与rpm,deb这样的安装包Reporitory: 仓库,一个http服务器存放Charts包. 安装完helm之后,默认配置了
千家信息网最后更新 2024年09月25日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安全错误
数据库的锁怎样保障安全
nas构建服务器
网络安全培训主题
小程序显示无法访问服务器
棋牌软件开发用什么电脑
客户端与服务器的传输协议是
广州网络安全建设怎么样
服务器主板用什么散热器
外卖爬数据库
网络技术volley
2018网络安全心得体会
走的网络安全员
一个光纤连接2个服务器
我叫mt卡牌数据库
杀毒软件如何保证网络安全
浦东新区游戏软件开发管理
软件开发即征即退包括游戏开发吗
etc软件开发票
阿里云服务器安装apt
地产软件开发价格
服务器专用管理语言
会计软件开发模型有哪些
火箭军信息网络安全
网络安全绕口令20字以上
nasa服务器
软件开发和研发有什么区别
大学计算机网络技术教材
河北速来帮互联网科技有限公司
数据库技术与应用的实训报告
数据库销售统计管理系统
什么是服务器安全管理协议