如何使用 Helm 管理 Kubernetes 集群

news/2024/9/23 19:48:11/

Helm 是 Kubernetes 的包管理工具,简化了在 Kubernetes 上安装、更新、管理应用的流程。通过 Helm,开发者可以快速部署复杂的应用程序,类似于使用 apt、yum 或 Homebrew 安装软件包。在本文中,我们将详细介绍如何安装和配置 Helm,并将其连接到 Kubernetes 集群。


1. 安装 Helm

在安装 Helm 之前,确保已经有一个可用的 Kubernetes 集群,并且可以通过 kubectl 访问。Helm 3 不再需要 Tiller 服务端组件,因此安装变得更加简单。

1.1 使用脚本快速安装

Helm 官方提供了一个安装脚本,使用该脚本可以快速安装最新版本的 Helm:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
1.2 使用包管理器安装

如果你使用的是 macOS、Ubuntu 或其他 Linux 发行版,可以通过包管理器进行安装:

macOS 用户

使用 Homebrew 安装:

brew install helm
Ubuntu 或 Debian 用户

先更新软件包列表,然后通过 snap 安装 Helm:

sudo apt update
sudo snap install helm --classic
CentOS 或 Fedora 用户

使用 dnf 安装 Helm:

sudo dnf install helm
1.3 验证 Helm 安装

安装完成后,使用以下命令检查 Helm 是否安装成功:

helm version

如果看到类似如下的版本信息,说明 Helm 已成功安装:

version.BuildInfo{Version:"v3.8.0", GitCommit:"...", GitTreeState:"clean", GoVersion:"go1.17"}

2. 验证 kubectl 配置

在连接 Helm 与 Kubernetes 集群之前,确保 kubectl 已正确配置,并且可以访问 Kubernetes 集群。你可以通过以下命令检查集群状态:

kubectl cluster-info

如果集群正常运行,输出会显示集群的相关信息。如果未配置 kubectl,请参考 官方文档 配置 Kubernetes 集群访问。


3. 使用 Helm 连接 Kubernetes 集群

在 Helm 3 中,不再需要安装 Tiller,Helm 客户端可以直接与 Kubernetes API 交互。只要 kubectl 配置正确,Helm 就可以直接连接到 Kubernetes 集群。

3.1 验证 Helm 与集群连接

可以使用以下命令检查 Helm 是否已连接到 Kubernetes 集群:

helm list

如果 Helm 正常连接集群,但没有部署任何应用,该命令会返回空列表。如果 Helm 未能连接到集群,检查 kubectl 配置和集群状态。


4. 添加 Helm 仓库

Helm 仓库中包含各种应用程序的打包 chart。你可以通过添加官方或第三方的 Helm 仓库来部署应用。

4.1 添加官方 Helm 仓库

Helm 官方提供了 stable 仓库,里面包含许多常用应用:

helm repo add stable https://charts.helm.sh/stable
helm repo update
4.2 查看可用 Chart

添加仓库后,你可以使用以下命令查看仓库中有哪些可用的 Chart:

helm search repo stable

5. 使用 Helm 安装应用

一旦 Helm 与 Kubernetes 集群连接并添加了仓库,你就可以安装应用了。Helm 会自动创建所需的 Kubernetes 资源,如 Pod、Service 等。我们以 NGINX Ingress 控制器为例,展示如何使用 Helm 安装应用。

5.1 安装 NGINX Ingress 控制器

使用 Helm 安装 NGINX:

helm install my-nginx stable/nginx-ingress
  • my-nginx 是 release 名称,可以自定义为其他名称。
  • stable/nginx-ingress 是从 Helm 仓库安装的 Chart。
5.2 查看部署状态

使用以下命令查看 Helm 安装的应用状态:

helm list

这会列出所有 Helm 部署的应用及其状态。


6. 验证应用部署

使用 kubectl 命令查看 Kubernetes 集群中的资源。查看 Pod 运行状态:

kubectl get pods

所有 Pod 应该显示为 Running 状态,表明应用已经成功部署。


7. 删除 Helm 部署

如果需要删除通过 Helm 安装的应用,可以运行以下命令:

helm uninstall my-nginx

该命令会删除 Helm 部署的所有 Kubernetes 资源。


总结

通过 Helm,你可以轻松管理 Kubernetes 上的复杂应用,快速部署、升级、回滚及删除应用。本文详细介绍了如何安装 Helm,验证与 Kubernetes 的连接,并使用 Helm 部署和管理应用。Helm 让 Kubernetes 集群中的应用管理变得更加高效和便捷。


http://www.ppmy.cn/news/1529462.html

相关文章

vue 中互相不关联的两个组件怎么进行通信(数据传输)

1、Vuex Vuex 是 Vue 官方的状态管理模式与库。通过使用 Vuex,可以将组件间共享的数据存储在一个全局的状态树中,任何组件都可以读取这个状态,通过提交 mutations 或 dispatch actions 来修改状态。 2、Event Bus (事件总线) 创建一个全局的…

一文了解高速工业相机

超高速相机是工业相机的一种,一般高速相机指的是数字工业相机,其一般安装在机器流水线上代替人眼来做测量和判断,通过数字图像摄取目标转换成图像信号,传送给专用的图像处理系统。 超高速工业相机的采集速率> 50Gb/s&#xff…

无线安全(WiFi)

免责声明:本文仅做分享!!! 目录 WEP简介 WPA简介 安全类型 密钥交换 PMK PTK 4次握手 WPA攻击原理 网卡选购 攻击姿态 1-暴力破解 脚本工具 字典 2-Airgeddon 破解 3-KRACK漏洞 4-Rough AP 攻击 5-wifi钓鱼 6-wifite 其他 WEP简介 WEP是WiredEquivalentPri…

2-96 基于matlab的SMOTE数据扩充算法

基于matlab的SMOTE数据扩充算法,主动设置数据扩充百分比,并考虑最近邻居数进行扩充,计算样本到他所在类样本集中所有样本距离,从样本的K近邻中随机选择若干样本添加到扩充样本集。程序已调通,可直接运行。 下载源程序…

Oracle 19c 安装教程学习

Oracle 19c 安装教程学习 (最新) 很久没有用Oracle 我记得用的时候还是 2021年 ,那个时候用的 Oralce 11g 。 今天本人实测安装 。 今天的学习目标就是教大家怎么安装 。直接上图 19c下载地址:https://www.oracle.com/cn/databa…

linux-虚拟化与容器化-虚拟化

Linux 虚拟化与容器化:虚拟化 在 Linux 系统中,虚拟化是一项非常重要的技术,它允许在单一物理硬件上运行多个操作系统或虚拟机(VM)。虚拟化不仅能够提高硬件资源的利用率,还能够提供隔离性、安全性和可移植…

基于yolov8的红外小目标无人机飞鸟检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的红外小目标无人机与飞鸟检测系统是一项集成了前沿技术的创新解决方案。该系统利用YOLOv8深度学习模型的强大目标检测能力,结合红外成像技术,实现了对小型无人机和飞鸟等低空飞行目标的快速、准确检测。 YOLOv8作为YOLO系列的…

5款好用的电脑软件,个个良心实用

分享5款好用但冷门的windows软件,个个良心实用,而且大部分免费,值得统统装进电脑里! 1、EagleGet——高速下载器 一款免费的高速下载软件,页面设计简洁,没有广告,支持 HTTP、HTTPS、FTP、MMS、…