如果Kubernetes是你的家,那么Helm就是你的宜家

简介: Kubernetes为你所有的容器应用提供了一个家。但是,你如何用数据库和网络应用等来布置这个家?这就要介绍下Helm了,如果Kubernetes是你的家,Helm就是你获取家具的地方。 Kubernetes是你应用的家 Kubernetes需要一组服务器(裸机或虚拟机),还需要一个复杂的容器管理系统。

Kubernetes为你所有的容器应用提供了一个家。但是,你如何用数据库和网络应用等来布置这个家?这就要介绍下Helm了,如果Kubernetes是你的家,Helm就是你获取家具的地方。

Kubernetes是你应用的家    

Kubernetes需要一组服务器(裸机或虚拟机),还需要一个复杂的容器管理系统。遵循声明式基础架构的原则,Kubernetes提供了从简单容器执行环境(Pods)到入口点、服务抽象和持久存储卷等数十种资源定义。这些使Kubernetes成为运行容器化应用灵活而强大的家。

但是,将新应用部署到新家中会带来陡峭的学习曲线,以及Adam Reese所说的Kubernetes开发周期——复制YAML、粘贴YAML、固定缩进、重复。

Helm让你跳过这一切。

Helm是你的宜家

多少人家里有家具?答案是几乎所有人。

但是有多少人在家里制作家具?这样的人少得多。

只有那些拥有高度的技术知识,熟练掌握众多工具的人会这么做。他们热衷于制作家具的每一个细节。

许多人选择让工匠为我们制作家具,而后选择我们想要的,并处理一些小的细节,以适应个人口味。这就是为什么像宜家这样的家具制造商取得了成功。他们通过一些简单的工具简化了拿到家具的步骤。

Kubernetes提供所有的原材料来制作你的集群家具—— Pods、DaemonSets、ServiceAccounts、PersistentVolumeClaims、ConfigMaps、Services等。那些愿意自己琢磨的人可以仔细地模拟他们选择部署的每个应用的细节。

但正如许多人更喜欢宜家而不是木工车间一样,大多数人宁愿依靠现有的、熟练组装好的Kubernetes应用。

Helm解决方案

如果Kubernetes是你的家,那么Helm就是你的宜家

例如,我可以创建自己的MySQL容器镜像,然后完成为Kubernetes部署组装正确的参数组合的过程。这可能需要至少设置一个Service、Deployment、ConfigMap和一个PersistenVolume / PersistentVolumeClaim对。

不过,更好的方式是,获取一个由专家制作的、并可以根据自己需要进行调整的已有配置。

这就是Helm所解决的问题。

Helm Chart是专业制作的Kubernetes资源的预打包配置。那些更喜欢简单地从现有MySQL配置开始的人可以安装Helm图表:

$ helm install stable / mysql

或者可以从图表开始,自定义参数:

$ helm install stable / mysql -f myconfig.yaml

或者可以拿来图表并深入其机制,进行深度修改:

$ helm fetch stable / mysql

$ cd mysql

$#随意编辑

$ helm install .

那些Kubernetes工匠可以创建自己的Helm图表,然后分享出来。

$ helm create customMySQL

$#编辑模板和配置来创建图表

$ helm package customMySQL

一旦图表打包,它就可以分发给其他Helm用户。

结论

通常,当我们谈论Helm时,我们会把它作为Kubernetes的包管理器。但是从更广义的角度来看,我们可以将其视为共享Kubernetes知识的工具,以共同提高云原生应用的质量。

Helm旨在降低Kubernetes新手的学习曲线。它旨在使应用重用变得简单,目的是鼓励Kubernetes最佳实践的发展和分享。

Kubernetes是一个华丽的家,正在重新定义我们运行应用的方式,而Helm是为这个家提供高品质应用的方式。

本文转移K8S技术社区- 如果Kubernetes是你的家,那么Helm就是你的宜家
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Kubernetes 关系型数据库
在Kubernetes中,helm是什么?如何使用?
【4月更文挑战第9天】在Kubernetes中,helm是什么?如何使用?
1512 5
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
758 0
k8s学习--helm的详细解释及安装和常用命令
|
存储 Kubernetes 关系型数据库
Helm 简介:Kubernetes 的包管理器
Helm 简介:Kubernetes 的包管理器
458 2
|
Kubernetes 容器
Kubernetes(K8S) helm chart
Kubernetes(K8S) helm chart
267 1
|
Kubernetes Linux Docker
Kubernetes(K8S) helm 安装
Kubernetes(K8S) helm 安装
971 1
|
Kubernetes 关系型数据库 数据库
Kubernetes Helm
Kubernetes Helm
574 0
Kubernetes Helm
|
存储 Linux 数据库
k8s-dashboard、helm
k8s-dashboard、helm
1130 1
|
Kubernetes 关系型数据库 MySQL
k8s学习--利用helm部署应用mysql,加深helm的理解
k8s学习--利用helm部署应用mysql,加深helm的理解
1560 0
|
Kubernetes 容器
在K8S中,helm是什么?如何使用?
在K8S中,helm是什么?如何使用?
|
运维 Kubernetes Go
在k8S中,Helm优缺点是什么?
在k8S中,Helm优缺点是什么?

推荐镜像

更多