---
# System prepended metadata

title: Helm

---

# Helm

## 介绍

[helm/helm](https://github.com/helm/helm)

Helm 目前是 Kubernetes 服务编排事实上的标准。

### 基本概念

- **Chart**： 代表一个 Helm 包。它包含了在 Kubernetes 集群中运行应用程序、工具或服务所需的所有 YAML 格式的资源定义文件。
- **Repository（仓库）**： 它是用来存放和共享 Helm Chart 的地方，类似于存放源码的 GitHub 的 Repository，以及存放镜像的 Docker 的 Repository。
- **Release**：它是运行在 Kubernetes 集群中的 Chart 的实例。一个 Chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 Release。

## 指导

[Chart 开发指南](https://helm.sh/zh/docs/topics/charts/)

### install

```shell=
$ mkdir -p $HOME/bin
$ wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
$ tar -xvzf helm-v3.6.3-linux-amd64.tar.gz
$ mv linux-amd64/helm $HOME/bin
$ chmod +x $HOME/bin/helm
$ helm version
version.BuildInfo{Version:"v3.6.3", GitCommit:"d506314abfb5d21419df8c7e7e68012379db2354", GitTreeState:"clean", GoVersion:"go1.16.5"}
```

### completion

```shell=
$ helm completion bash > $HOME/.helm-completion.bash
$ echo 'source $HOME/.helm-completion.bash' >> ~/.bashrc
$ bash
```

### Repository

[Artifact Hub](https://artifacthub.io/packages/search?kind=0)

```shell=
# 添加 BitNami 提供的 Chart 仓库
helm repo add bitnami https://charts.bitnami.com/bitnami # 添加 Chart Repository
helm repo list # 查看添加的 Repository 列表

helm search repo bitnami
```

### Chart

查询到自己需要的 Helm Chart 后，就可以通过helm install命令来安装一个 Chart。helm install支持从多种源进行安装：

- Chart 的 Repository。
- 本地的 Chart Archive，例如`helm install foo foo-1.0.0.tgz`。
- 一个未打包的 Chart 路径，例如`helm install foo path/to/foo`。
- 一个完整的 URL，例如`helm install foo https://example.com/charts/foo-1.0.0.tgz`。

```shell=
helm repo update              # Make sure we get the latest list of charts
helm install bitnami/mysql --generate-name
```

### Release

```shell=
helm list
```
