@TOC
Helm简介
什么是Helm
Helm 是 Kubernetes 的一个包管理工具,它允许用户定义、安装和升级复杂的 Kubernetes 应用程序。Helm 通过使用 "Charts" 的概念来简化应用程序的管理和配置。
主要组件
Helm 客户端:
这是命令行工具,用户使用它来与 Helm 仓库交互,并管理本地的 Chart 和 Release。
Tiller 服务器:
在 Helm 2 中,Tiller 是部署在 Kubernetes 集群中的服务器端组件,负责接收 Helm 客户端的请求并执行相应的操作。
注意:从 Helm 3 开始,Tiller 已经被移除,所有操作都由 Helm 客户端直接与 Kubernetes API 交互完成。
核心概念
Chart:
Chart 是一个包含 Kubernetes 资源定义模板的打包文件。它描述了一个可以被 Helm 管理的应用程序的所有必要资源。
一个 Chart 包括:
Chart.yaml:包含 Chart 的元数据。
values.yaml:包含 Chart 的默认配置值。
模板文件夹:包含资源的模板文件(通常是 Kubernetes 的 YAML 文件)。
其他文件:例如 README 文件等。
Release:
每个 Chart 安装到 Kubernetes 集群中就生成一个 Release。
Release 是一个 Chart 的运行实例,可以多次安装相同的 Chart,从而生成多个 Release,每个都有自己独立的配置和状态。
chart结构
总结
Helm是一个为K8s进行包管理的工具。
Helm将yaml作为一个整体管理并实现了这些yaml的高效复用,
就像Linux中的yum或apt-get,它使我们能够在K8s中方便快捷的安装、管理、卸载K8s应用。
应用
环境
虚拟机
Ip | 主机名 | cpu | 内存 | 硬盘 |
---|---|---|---|---|
192.168.10.11 | master01 | 2cpu双核 | 4G | 100G |
192.168.10.12 | worker01 | 2cpu双核 | 4G | 100G |
192.168.10.13 | worker02 | 2cpu双核 | 4G | 100G |
版本 centos7.9
已部署k8s-1.27
一、helm部署
wget https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz
tar xf helm-v3.13.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/
helm version
二、helm基础使用
查看仓库
helm repo list
Error是因为还没有添加仓库
添加新的仓库地址
微软源
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
添加成功会提示"stable"已经添加到你的库中
bitnami源
helm repo add bitnami https://charts.bitnami.com/bitnami
prometheus源
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
查看已经添加的仓库
helm repo list
更新仓库
用于更新本地的 Helm 仓库缓存,以确保你能够获取到最新的 charts 列表
helm repo update
再查看
helm repo list
删除仓库
helm repo remove stable
helm repo list
查看charts
使用helm search repo 关键字可以查看相关charts
helm search repo nginx
安装charts(nginx)
helm install nginx bitnami/nginx
helm list
kubectl get all
可以看到nginx已经运行起来了
删除charts
helm uninstall nginx
helm list