k8s学习--helm的详细解释及安装和常用命令

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: k8s学习--helm的详细解释及安装和常用命令

@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
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
1天前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
|
1天前
|
Kubernetes 固态存储 调度
k8s学习--如何控制pod调度的位置
k8s学习--如何控制pod调度的位置
|
1天前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
|
1天前
|
存储 Kubernetes 调度
k8s学习--k8s群集部署zookeeper应用及详细解释
k8s学习--k8s群集部署zookeeper应用及详细解释
|
1天前
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
|
1天前
|
Kubernetes 监控 测试技术
k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案
k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案
|
1天前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
41 17
|
4天前
|
Kubernetes Cloud Native Ubuntu
云原生之旅:Kubernetes集群搭建与应用部署
【8月更文挑战第65天】本文将带你进入云原生的世界,通过一步步指导如何在本地环境中搭建Kubernetes集群,并部署一个简单的应用。我们将使用Minikube和Docker作为工具,探索云原生技术的魅力所在。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和实践技巧。
|
8天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
下一篇
无影云桌面