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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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 持续交付
k8s学习
【10月更文挑战第1天】
83 4
|
9天前
|
Kubernetes Ubuntu Linux
我应该如何安装Kubernetes
我应该如何安装Kubernetes
|
1月前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
122 1
|
1月前
|
存储 Kubernetes 调度
|
1月前
|
Kubernetes Linux 开发工具
centos7通过kubeadm安装k8s 1.27.1版本
centos7通过kubeadm安装k8s 1.27.1版本
|
1月前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
28 1
|
1月前
|
Kubernetes Docker 容器
rancher docker k8s安装(二)
rancher docker k8s安装(二)
43 0
|
24天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
25天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
122 17