Helm是Kubernetes的包管理器,主要用来管理Charts。Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在您部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过Helm打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。对于使用者而言,使用Helm后不用需要编写复杂的应用部署文件,可以以简单的方式在Kubernetes上查找、安装、升级、回滚、卸载应用程序。
Helm和Kubernetes之间的关系可以如下类比:
Helm的整体架构如下图:
Kubernetes的应用编排存在着一些问题,Helm可以用来解决这些问题,如下:
在CCE中创建的Kubernetes集群已对接kubectl,具体请参见通过kubectl连接集群。
本文档将在CCE的节点上安装helm。
Helm下载链接:https://github.com/helm/helm/releases,请选择合适的版本,本文以helm v3.3.0为例进行演示。
wget https://get.helm.sh/helm-v3.3.0-linux-amd64.tar.gz
tar -xzvf helm-v3.3.0-linux-amd64.tar.gz
命令行终端显示如下信息:
mv linux-amd64/helm /usr/local/bin/helm
helm version version.BuildInfo{Version:"v3.3.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}
Helm v3.0.0及以上版本已经取消Tiller,所以不需要安装Tiller,Helm默认读取~/.kube/config进行Kubernetes连接。
根据创建的资源来修改chart包中的文件,chart包由chart.yaml、README.md、values.yaml、.helmianore和templates文件夹组成。修改chart包主要是根据templates文件夹内的deployment.yaml、statefulset.yaml、service.yaml文件来修改values.yaml中的参数。
Client: &version.Version{SemVer:"v3.3.0", GitCommit:"012cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"} E0718 11:46:10.132102 7023 portforward.go:332] an error occurred forwarding 41458 -> 44134: error forwarding port 44134 to pod d566b78f997eea6c4b1c0322b34ce8052c6c2001e8edff243647748464cd7919, uid : unable to do port forwarding: socat not found. Error: cannot connect to Tiller
出现上述问题,说明未安装socat,请执行如下命令安装socat。
yum install socat -y
test@local:~/k8s/helm/test$ helm version Client: &version.Version{SemVer:"v3.3.0", GitCommit:"021cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"} Error: cannot connect to Tiller
Helm模板从“.Kube/config”中读取配置证书和kubernetes进行通讯,出现上述错误信息说明kubectl配置有误,请重新对接kubectl,具体请参见通过kubectl连接集群。
出现上述问题可能是创建的pvc中annotation字段导致的,请修改模板名称后再次进行安装。
[root@prometheus-57046 ~]# helm install prometheus/ --generate-name WARNING: This chart is deprecated Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version?timeout=32s": dial tcp [::1]:8080: connect: connection refused
解决办法:给节点配置kubeconfig,配置方法请参见通过kubectl连接集群。
在2020全球电竞运动领袖峰会暨腾讯电竞年度发布会上,腾讯云与王者荣耀职业联赛...
本文介绍如何使用f1 RTL(Register Transfer Level)。 前提条件 在开始本教程之...
文| Louis、Jaylam 导语 “洋葱”系统是腾讯自研的主机入侵检测系统(HIDS),...
启用多因素认证MFA后,终端用户登录客户端时,在输入密码后还需输入MFA安全码,...
Apache Flink 是业界公认的性能优异的大数据计算引擎之一。近年来 随着越来越多...
本文介绍云服务器ECS超级计算集群实例规格族的特点,并列出了具体的实例规格。 ...
来源 | 阿里云研究 编辑 | 阿里云研究中心 张楠 编者按: 交通拥堵已经成为城市...
导读 因为图分析是数据科学家的未来。 作为数据科学家,我们对pandas、SQL或任何...
2021年6月 阿里云合作伙伴大会上 用友网络作为数据库生态加速计划的首批核心合作...
环境:SpringBoot2.3.8.RELEASE + JDK1.8 本文教你如何在SpringBoot环境下使得自...