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

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就是你的宜家
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/678998

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。