云原生Helm常用命令(chart安装升级回滚卸载等操作)
一、概述
Helm 针对Kubernetes的Helm包管理器。Helm的一般操作: helm search: 搜索chart helm pull: 下载chart到本地目录查看 helm install: 上传chart到Kubernetes helm list: 列出已发布的chart # 查看帮助 helm --help
官方文档:https://helm.sh/zh/docs/helm/helm/
Helm 架构和基础语法讲解可以参考我这篇文章:【云原生】Helm 架构和基础语法详解
二、Helm 仓库(helm repo)
添加、列出、删除、更新和索引chart仓库。 1)添加chart仓库helm repo add bitnami https://charts.bitnami.com/bitnami2)列出已添加的仓库helm repo list3)从chart仓库中更新本地可用chart的信息helm repo update bitnami4)删除一个或多个仓库helm repo remove bitnami三、创建chart(helm create)
使用给定名称创建新的chart,该命令创建chart目录和chart用到的公共文件目录。
比如"helm create foo"会创建一个目录结构看起来像这样: $ helm create foo foo/ ├── .helmignore # Contains patterns to ignore when packaging Helm charts. ├── Chart.yaml # Information about your chart ├── values.yaml # The default values for your templates ├── charts/ # Charts that this chart depends on └── templates/ # The template files └── tests/ # The test files四、chart 包安装(helm install)
该命令用于 安装chart包 。安装参数必须是chart的引用,一个 打包后的chart路径 , 未打包的chart目录或者是一个URL 。
要重写chart中的值,使用 --values 参数传递一个文件或者使用--set 参数在命令行传递配置,强制使用字符串要用--set-string 。 当值本身对于命令行太长或者是动态生成的时候,可以使用--set-file 设置独立的值。helm install -f myvalues.yaml myredis ./redis helm install --set name=prod myredis ./redis helm install --set-string long_int=1234567890 myredis ./redis helm install --set-file my_script=dothings.sh myredis ./redis五、管理chart依赖(helm dependency)Helm chart将依赖存储在"charts/"。对于chart开发者,管理依赖比声明了所有依赖的"Chart.yaml"文件更容易。 依赖命令对该文件进行操作,使得存储在"charts/"目录的需要的依赖和实际依赖之间同步变得很容易。
比如Chart.yaml声明了两个依赖: # Chart.yaml dependencies: - name: nginx version: "1.2.3" repository: "https://example.com/charts" - name: memcached version: "3.2.1" repository: "https://another.example.com/charts"name 是chart名称,必须匹配Chart.yaml 文件中名称。version 字段应该包含一个语义化的版本或版本范围。
从2.2.0开始,仓库可以被定义为本地存储的依赖chart的目录路径。路径应该以"file://"前缀开头,比如: # Chart.yaml dependencies: - name: nginx version: "1.2.3" repository: "file://../dependency_chart/nginx"1)列举指定chart的依赖# helm dependency list CHART helm dependency list wordpress2)依赖升级
基于Chart.yaml内容升级charts/ # helm dependency update CHART [flags] helm dependency update wordpress六、Helm 列表(helm list)列举发布版本 ,该命令会列举出指定命名空间的所有发布版本,(如果没有指定命名空间,会使用当前命名空间)。 默认 情况下,只会 列举出部署的或者失败的发布 ,像 --uninstalled 或者--all 会修改默认行为。这些参数可以组合使用:--uninstalled --failed 。默认情况下,最多返回 256 项,使用--max 限制数量,--max 设置为0不会返回所有结果,而是返回服务器默认值,可能要比256更多。 同时使用--max 和--offset 参数可以翻页显示。# -A显示所有 helm list --max=10 --offset=2 -A七、升级版本(helm upgrade)
该命令将发布升级到新版的chart。升级参数必须是发布和chart。chart参数可以是: chart引用("example/mariadb") ,chart目录路径 ,打包的chart或者完整URL。 对于chart引用,除非使用"--version"参数指定,否则会使用最新版本。helm upgrade --set foo=bar --set foo=newbar redis ./redis八、发布历史(helm history)
检索发布历史,打印给定版本的历史修订。 默认 会返回最大的 256 个历史版本。设置--max 配置返回历史列表的最大长度。
历史发布集合会被打印成格式化的表格,例如: $ helm history angry-bird REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION 1 Mon Oct 3 10:15:13 2016 superseded alpine-0.1.0 1.0 Initial install 2 Mon Oct 3 10:15:13 2016 superseded alpine-0.1.0 1.0 Upgraded successfully 3 Mon Oct 3 10:15:13 2016 superseded alpine-0.1.0 1.0 Rolled back to 2 4 Mon Oct 3 10:15:13 2016 deployed alpine-0.1.0 1.0 Upgraded successfully九、回滚版本(helm rollback)
回滚发布到上一个版本,回滚命令的第一个参数是发布的名称,第二是修订(版本)号,如果省略此参数,会回滚到上一个版本。 # helm rollback [REVISION] [flags] # 先查看历史版本 helm history myharbor -n harbor # 不指定版本就回退上个版本 helm rollback myharbor 1 -n harbor helm rollback myharbor -n harbor十、展示chart(helm show)# helm show all [CHART] [flags] # 该命令检查chart(目录、文件或URL)并显示所有的内容(values.yaml, Chart.yaml, README) helm show all mysql # helm show values [CHART] [flags] # 该命令检查chart(目录、文件或URL)并显示values.yaml文件的内容 helm show values mysql十一、拉取chart(helm pull)
从仓库下载并(可选)在本地目录解压。 # helm pull [chart URL | repo/chartname] [...] [flags] # 仅下载 helm pull bitnami/redis # 下载并解压到当前目录 helm pull bitnami/redis --untar十二、Helm 打包(helm package)将chart目录打包到chart归档中 ,该命令将chart打包成一个chart版本包文件。如果给定路径,就会在该路径中查找chart(必须包含Chart.yaml文件)然后将目录打包。 要签名一个chart,使用 --sign 参数,在大多数场景中,也要提供--keyring path/to/secret/keys 和--key keyname 。helm package mysql/ # Successfully packaged chart and saved it to: /opt/k8s/helm/mysql-9.3.1.tgz
如果 想忽略helm中的文件 ,可以在 .helmignore 进行匹配,该.helmignore文件支持Unix shell全局匹配,相对路径匹配和否定(以!前缀反向匹配)。每行仅考虑一种模式。示例如下:# .helmignore .git */temp* */*/temp* temp?十三、推送chart到harbor(helm cm-push)
将chart推送到远程。 1)在线安装helm plugin install https://github.com/chartmuseum/helm-push2)离线安装
下载地址:https://github.com/chartmuseum/helm-push/tags # 1、下载安装包 wget https://github.com/chartmuseum/helm-push/releases/tag/v0.10.3 # 2、查看helm的plugin路径:helm env helm env # 3、在该路径下创建helm-push文件夹,并将安装包拷贝到该文件夹下解压即可 mkdir /root/.local/share/helm/plugins/helm-push wget https://github.com/chartmuseum/helm-push/releases/download/v0.10.3/helm-push_0.10.3_linux_amd64.tar.gz tar zxvf /root/.local/share/helm/plugins/helm-push/helm-push_0.10.3_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/helm-push
查看插件 helm plugin list3)helm 增加harbor repo# chartrepo,固定参数,bigdata自定义项目 helm repo add local-harbor --username=admin --password=Harbor12345 https://myharbor.com/chartrepo/bigdata/ --ca-file /opt/k8s/helm/ca.crt
证书直接在harbor上下载
4)示例演示# 查看帮助 helm cm-push --help # 推送,接【目录】 helm cm-push mysql/ local-harbor --ca-file /opt/k8s/helm/ca.crt # 推送,接【压缩包】 helm cm-push wordpress-15.1.5.tgz local-harbor --ca-file /opt/k8s/helm/ca.crt # 推送,指定版本,--version helm cm-push mychart/ --version="1.2.3" local-harbor --ca-file /opt/k8s/helm/ca.crt # 强制推送,--force helm cm-push --force mychart-0.3.2.tgz local-harbor
查看
十四、搜索 hub(helm search hub)
在Artifact Hub或自己的hub实例中搜索chart。 Artifact Hub 是基于web页面的应用,支持CNCF项目的查找、安装和发布包及配置项,包括了公开发布的Helm chart。它是CNCF的沙盒项目。可以访问https://artifacthub.io/# 不带参数,列出所有 helm search hub # 指定chart helm search hub mysql
十五、搜索仓库(helm search repo)
用chart中关键字搜索仓库,搜索会读取系统上配置的所有仓库,并查找匹配。搜索这些仓库会使用存储在系统中的元数据。它会展示找到 最新稳定版本的chart 。如果指定了 --devel 参数,输出会包括预发布版本。# Search for stable release versions matching the keyword "nginx" $ helm search repo nginx # Search for release versions matching the keyword "nginx", including pre-release versions $ helm search repo nginx --devel # Search for the latest stable release for nginx-ingress with a major version of 1 $ helm search repo nginx-ingress --version ^1.0.0十六、验证chart(helm lint)
该命令使用一个chart路径并运行一系列的 测试来验证chart的格式是否正确 。如果遇到引起chart安装失败的情况,会触发[ERROR]信息,如果遇到违反惯例或建议的问题,会触发[WARNING]。 # helm lint PATH [flags] helm lint ./mysql
十七、常用命令总结helm version // 查看helm版本 helm create xxx // 创建一个xxx charts helm lint ./xxx // 检查包的格式或信息是否有问题 helm install xxx1 ./xxx // 部署安装xxx,设置名称为xxx1 helm list // 列出已经部署的charts helm history // 发布历史 helm upgrade // 更新版本 helm rollback // 回滚版本 helm package ./xxx // 打包charts helm repo add --username admin --password password myharbor xxx // 增加repo helm uninstall xxx1 // 卸载删除xxx1 helm pull // 拉取chart包 helm cm-push // 推送chart包 helm repo update // 更新仓库资源 helm search hub // 从 Artifact Hub 中查找并列出 helm charts。 Artifact Hub中存放了大量不同的仓库 helm search repo // 从你添加(使用 helm repo add)到本地 helm 客户端中的仓库中进行查找。该命令基于本地数据进行搜索,无需连接互联网
Helm 常用命令(chart 安装、升级、回滚、卸载等操作)就先到这里,有疑问的小伙伴,欢迎给我留言哦,后面会有大量的企业案例,请耐心等待哦~
资治通鉴精选摘记29亮尝自校簿书,主簿杨直入,谏曰为治有体,上下可不相侵。请为明公以作家譬之今有人,使奴执耕稼,婢典炊,鸡主司晨,犬主吠盗,牛负重载,马涉远路私业无旷,所求皆足,雍容高枕,饮食而已。忽
广播剧谋将来永远幸福张太雷革命者的人性光辉作者李京盛(中广联合会副会长)广播剧谋将来永远幸福张太雷由共青团中央宣传部共青团江苏省委联合指导,由中共常州市委宣传部共青团常州市委等单位联合制作,并被列为共青团中央宣传部重点宣传
伪造毛主席的电报手迹,沽名钓誉,虚假的长津湖战役何时休?作为一名志愿军长津湖战役烈士的后人,再没有比看到长津湖这几个字眼,感觉更亲切也更激动的了。因为长津湖战役是一场立国之战中的血战。志愿军9兵团不仅成建制地消灭了美军陆军王牌第7师北极
清末照片中,人们的相貌丑陋神情木讷,这到底是什么原因?晚清时期,随着照像机的出现,让人们能够直观看到清朝人的真实影像,看过晚清人影像的人都会惊诧不已,为什么晚清人都面容疲惫目光呆滞神情木讷,就连皇宫中的贵人嫔妃都是如此,到底是什么原因
代王朱充燿代藩难得的老实人,两次被围出逃,积极揭发宗室汉奸在明朝历任代王中,奇葩占多数,老实人比较少,第一任朱桂的风评尤其差,即使600多年过去,但时至今日,朱桂喜欢拿着铜锤上街打人的事仍是大同人民茶余饭后的笑柄。朱桂的大儿子代世子朱逊煓
当年苏联想对中国发动核打击,为何最终取消,苏军有个人功不可没自新中国成立后,曾经有两位外国的将领曾经豪言要对我们实施外科手术式的核打击,一位是曾经带领联合国军与我志愿军在朝鲜战场对决的美国的五星上将麦克阿瑟。狂妄的他没想到,在朝鲜战场上,英
2004年毛刘两家聚会,刘源拉着李讷儿子问像不像毛伯伯那张照片2004年初夏某个特别的日子,北京京都信苑饭店迎来了一场历史性的聚会。在刘少奇之妻王光美的号召下,毛泽东刘少奇两家后代在此进行时隔多年的会面,在延续交往的同时,彼此之间的感情也更加
NetBackup结合MEB备份恢复MySQL一环境摘要1。1NBU备份MySQL方案概述NetBackup可采用以下几种方案对MySQL进行备份关闭MySQL并以文件形式离线备份(无法做到热备份)采用脚本或工具(如mysql
被痛击了今天CRO被痛击了,节后第一天遭遇利空。原因跟之前制造业回流美国一样,这次也是美签署了一项对生物制造业发展的命令,草案一出,CRO瞬间下跌。老美的算盘打的很精明,过去几十年主推全球
人与人,一场缘,一场相遇,一生铭记光阴的故事里,有欢喜,有悲伤,有念念不忘,也有过眼云烟。生命中的遇见,都来之不易,心灵若相知,才知珍贵。深深的情,慢慢处浓浓的爱,淡淡诉长长的路,慢慢的走。秋天的味道写在风里,人生
两个人怎样才算合适,你知道不?第一彼此都是对方的好朋友,不带任何条件,喜欢与对方在一起。第二彼此很容易沟通,互相可以很敞开地坦白任何事情,而不必担心被对方怀疑或轻视。第三两个在心灵上,有共同的理念和价值观,并且
披荆斩棘2让男星原形毕露有的口是心非,有的只顾自己芒果台今年依旧在综艺领域一骑绝尘,乘风破浪第三季大爆后让观众再次发现许多宝藏姐姐,紧接着披荆斩棘2(以下简称披哥)也强势来袭,初舞台带来一波回忆杀,继王心凌男孩后,苏有朋女孩们也坐
清华大学高材生发布不当言论,引发网友众怒,背后原因令人深思众所周知,抗日战争是我国近代历史上的屈辱史,作为一名中国人,这段历史是永远不能忘记的。但是在这个和平年代,还有一些人对先辈们的牺牲,视而不见,更是说出了很多不当的言论。毕业于清华大
俄罗斯,终于停了这次美国搅屎俄乌打仗!遭殃的却是欧盟!刚刚传来大消息俄罗斯突然宣布,北溪1号因为停机检修,暂停对欧洲供应天然气。是的,你没看错俄罗斯终于停了!!话音未落,欧洲哗然天然气,是欧洲人的
俄罗斯尚未走出后冷战时代,对乌战争彰显一个战略现实拉夫罗夫俄罗斯外交部长拉夫罗夫在8月31日出席一场活动时,强调他的国家正面临的空前外交孤立。他说,在我们现在所处的时代,而这恰恰是一个时代,一个漫长的历史时期,我们必须做好准备,认
寒冬将至,华为背水一战近日,华为精神领袖任正非的一篇檄文让华为再次成为了人们关注的焦点。这次任正非讲话可以说是寒气逼人他认为未来几年全球经济持续衰退,全球各地区经济没有一个亮点,华为的首要目标是活下去。
旭创科技刘圣坚持用创新,去选择产品和市场创投资本以金融活水助力人才创业,赋能产业发展,为实体经济高质量发展注入了源源不断的强劲动能。2022元禾企业巡礼,我们以资本视角,聚焦苏州电子信息装备制造生物医药先进材料四大产业,
新刊上线丨Engineering2022年第8期Engineering2022年第8期最新发布了细菌耐药性公共卫生增材制造智能电网智能制造等专题的论文。ContentsEditorial细菌耐药性威胁人类健康Advancesin
社论营造孕育企业家精神的制度场域有着经营之神之称的日本知名企业家稻盛和夫走了。斯人已逝,留下传奇般的事迹。我们缅怀稻盛和夫,不仅因为他是中日友好使者,更是因为从他传奇般的人生中,可以品读出真正的企业家精神,及如何
情深深雨濛濛21年演员今昔对比,有三人已离世,杜飞认不出前几天,在披荆斩棘的哥哥第二季的初舞台上,苏有朋的爱旋律一出,便引起台上台下一阵骚动,随后便是全场大合唱。苏有朋的出现给观众妥妥地带来一波回忆杀,除了小虎队成员这个标签,更多的是他
长沙自建房倒塌致53人遇难盖章收钱的检测人员难逃法网近日,央视新闻发布消息通报了长沙自建房倒塌事故的最新进展截止5月6日3时03分,现场搜救工作结束,事故现场被困失联人员已全部找到,共获救10人,遇难53人。事故发生后,长沙公安机关
卡塔尔凭天然气优势获欧美空前青睐(文汪强)俄乌局势严重冲击全球能源供应,许多欧洲能源进口国迫切寻求减少对俄罗斯能源的依赖,液化天然气产量位居世界前列的卡塔尔因此获得了商业和外交良机。美国标普全球商品洞察公司的数据