helm 使用
安装
https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm 的概念理解
helm 是部署一组 k8s 资源的,核心概念是 Chart。
Chart 用来描述一组 k8s 资源怎么部署,资源比如 deployment,servife, pvc 等等。
Chart 的结构如下
mychart/
├── Chart.yaml # Chart 的元数据
├── values.yaml # 默认配置值
├── templates/ # Kubernetes 资源模板
│ ├── deployment.yaml
│ ├── service.yaml
│ └── ...
└── charts/ # 依赖的其他 Chart (可选)
根据 Chart,还衍生出了一 Release 的概念,Chart 相当于是一个安装描述。对于一个 Chart 的安装描述,真实的在一个 k8s 环境里进行一次安装称为一次 Release。每次 Release 有一个 Release name。
helm 命令
针对一个 Chart,可以使用 helm 命令做以下操作。
安装
helm upgrade --install <release-name> <chart-dir> -n <k8s-namespace>
--install
参数用来表示如果不存在这个 release 则创建。不带这个参数就不会创建新的 release 只会更新旧的。
卸载
helm uninstall <release-name> -n <k8s-namespace>
将安装的所有资源卸载掉。
helm 和 k8s 的关联
helm 会根据 Chart 的描述将资源部署到 k8s 里,本身是使用的 k8s 的 API,所以使用 helm 命令时会按类似 kubectl 使用 API 配置(比如 kubeconfig)来访问 k8s。
Read other posts