首页 / K8S / k8s包管理Helm命令大全
k8s包管理Helm命令大全
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了k8s包管理Helm命令大全,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4531字,纯文字阅读大概需要7分钟。
内容图文
![k8s包管理Helm命令大全](/upload/InfoBanner/zyjiaocheng/1332/c9e0569342e641669d85d811d78778ac.jpg)
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 mysql NAME 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.yaml mariadbUser: user0 mariadbDatabase: user0db EOF helm 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 ls NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE gilded-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-mule LAST DEPLOYED: Wed Jul 17 10:31:33 2019 NAMESPACE: default STATUS: DEPLOYED RESOURCES: ==> v1/ConfigMap NAME DATA AGE gilded-mule-minio 1 68m ==> v1/PersistentVolumeClaim NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE gilded-mule-minio Pending 68m ==> v1/Pod(related) NAME READY STATUS RESTARTS AGE gilded-mule-minio-84f85fff78-rv6r6 0/1 Pending 0 68m ==> v1/Secret NAME TYPE DATA AGE gilded-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: 6 RELEASED: Wed Jul 17 10:31:33 2019 CHART: minio-2.5.0 USER-SUPPLIED VALUES: service: nodePort: 31312 COMPUTED VALUES: DeploymentUpdate: maxSurge: 100% maxUnavailable: 0 type: RollingUpdate StatefulSetUpdate: 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 1 helm hisotry gilded-mule
- 删除
helm delete $releaseName helm list --all
repository的使用
- 查看当前的仓库,helm repo list
- 在本机创建自己的仓库
mkdir -p ~/my-repo nohup 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上下载charts cp -r mysql ~/my-repo cd ~/my-repo helm 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中.
原文:https://blog.51cto.com/qujunorz/2421027
内容总结
以上是互联网集市为您收集整理的k8s包管理Helm命令大全全部内容,希望文章能够帮你解决k8s包管理Helm命令大全所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。