文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在Kubernetes中,helm是什么?如何使用?

2024-11-29 23:27

关注

一、什么是Helm?

Helm[1]是一个Kubernetes的包管理器,类似于Linux系统中的APT或YUM。它允许您定义、安装和升级Kubernetes应用程序的预定义包,这些包通常称为charts。Helm旨在简化Kubernetes应用程序的部署和管理过程,使其更加可重复和可维护。

1.Helm架构

Helm 架构由 Helm 客户端、Tiller 服务器端和 Chart 仓库组成。Tiller 部署在 Kubernetes 中,Helm 客户端通过与 Tiller 通信来管理 Chart 的部署和升级。它从 Chart 仓库中获取 Chart 安装包,并将其安装到 Kubernetes 集群中。

2.Helm的核心概念

在深入了解如何使用Helm之前,我们需要了解几个Helm的核心概念:

(1) Chart

Chart是Helm的打包格式,它包含了一组描述Kubernetes应用程序的资源模板文件,以及一些可配置的参数。Chart可以被认为是一个可复用的应用程序模板,它可以快速部署到Kubernetes集群中。

(2) Release

Release是Chart的一个特定实例,它在Kubernetes集群中运行。每个Release都有一个唯一的名称,它可以通过Helm进行部署、升级或删除。

(3) Repository

Repository是一组打包好的Chart的存储位置,类似于软件包管理系统中的软件源。Helm允许您从一个或多个仓库中查找、下载和安装Chart。

二、如何使用Helm?

现在让我们来看一下如何使用Helm来管理Kubernetes应用程序。

1.安装Helm

Helm提供了不通的安装方式,其中包括二进制方式、脚本安装、包管理器安装等。本案例中,我采用脚本方式安装,执行如下命令,其他方式安装方式,请查阅官网文档[2]

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

执行上述代码后,通过执行helm version,输出如下图,说明Helm安装成功了。

2.添加Chart仓库

Helm使用Chart仓库来查找可用的Chart。您可以使用以下命令添加一个Chart仓库:

helm repo add  

而Artifact Hub 是一个用于查找、安装和共享 Helm 图表的在线仓库。要在 Helm 中添加 Artifact Hub 作为仓库,你可以使用helm repo add命令,如下:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

bitnami:是为该仓库起的一个名字

然后,再次通过下面的命令查看仓库情况,如下:

controlplane $ helm repo list
NAME    URL                               
bitnami https://charts.bitnami.com/bitnami
controlplane $

3.搜索并安装Chart

一旦您添加了仓库,您可以使用helm search命令搜索可用的Chart:

helm search repo 

不知道helm命令的具体用法可以通过helm -h查看帮助文档。

例如,如果您想要查找MySQL的Chart,您可以执行:

helm search repo mysql

执行上述的命令,它会在仓库中查找关键为mysql的Chart。然后把结果返回给终端,如下图

一旦找到您想要的Chart,您可以使用helm install命令将其部署到Kubernetes集群中:

helm install  /

例如,安装一个MySQL服务,执行如下命令:

helm install my-mysql bitnami/mysql

执行上述命令后,成功部署会输入如下信息:

可以根据提示,执行下面的命令获取MySQL的root密码:

kubectl get secret --namespace default my-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d

4.管理Release

一旦Chart被部署为Release,您可以使用Helm来管理它。例如,您可以使用「helm list」命令列出所有已部署的Releases:

controlplane $ helm list 
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
my-mysql        default         1               2024-04-08 12:00:44.864307773 +0000 UTC deployed        mysql-10.1.1    8.0.36

您还可以使用helm upgrade和helm uninstall命令来升级和删除Release

controlplane $ helm uninstall my-mysql 
release "my-mysql" uninstalled
controlplane $

写到最后

在Kubernetes中,Helm是一个极其有用的工具,它简化了应用程序的部署和管理过程。通过使用预定义的Chart,您可以快速、可重复地部署应用程序,并轻松进行升级和管理。希望本文能够帮助您了解Helm的基本概念,并开始在Kubernetes集群中使用它来简化您的工作流程。

Reference:

来源:攻城狮成长日记内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯