标签 - helm

helm    2023-06-15 15:03:31    15    0    0

helm是什么

  Helm是Kubernetes的包管理器,类似于Python的pip centos的yum,主要用来管理 Charts。

  Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在你部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过Helm打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。

helm解决了什么

 在kubernetes中部署一个可以使用的应用,需要涉及到很多的kubernetes资源的共同协作。

  部署一个服务,会一些kubernetes的资源对象,包括deployment用于部署应用,service提供服务发现,secret配置服务的密码,ingress用于集群外部访问,有可能需要pv和pvc来提供持久恶化服务。会涉及到一些依赖,数据库或其他服务启动。这些资源过于分散,不方便管理,直接提供kubectl来管理一个应用,让人头疼。

  在部署一个应用,会遇到哪些问题:

  • 如何统一管理、配置和更新这些分散的k8s的应用资源文件
  • 如何分发和复用应用模板
  • 如何将应用的一系列资源当做一个软件包管理

      对于使用者而言,使用Helm后不用需要编写复杂的应用部署文件,可以以简单的方式在Kubernetes上查找、安装、升级、回滚、卸载应用程序

helm2与helm3的区别

  由于Helm v2 Tiller服务端在社区一直存在已知的安全问题,攻击者可以通过tiller在集群内安装未经授权的应用,因此推荐您升级至Helm v3版本。

  helm3是直接与k8s api互通 无需再helm init 创建服务端,比较大的改动是,移除 Tiller(Helm 2 是一种 Client-Server 结构,客户端称为 Helm,服务器称为 Tiller)。Helm 3 只有客户端