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

简介: 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搭建和管理企业级网站应用
相关文章
|
2月前
|
存储 Kubernetes 持续交付
k8s学习
【10月更文挑战第1天】
108 4
|
9天前
|
Kubernetes 应用服务中间件 nginx
二进制安装Kubernetes(k8s)v1.32.0
本指南提供了一个详细的步骤,用于在Linux系统上通过二进制文件安装Kubernetes(k8s)v1.32.0,支持IPv4+IPv6双栈。具体步骤包括环境准备、系统配置、组件安装和配置等。
100 10
|
2月前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
302 1
|
1月前
|
Kubernetes Ubuntu Linux
我应该如何安装Kubernetes
我应该如何安装Kubernetes
|
2月前
|
存储 Kubernetes 调度
|
2月前
|
Kubernetes Linux 开发工具
centos7通过kubeadm安装k8s 1.27.1版本
centos7通过kubeadm安装k8s 1.27.1版本
|
2月前
|
Kubernetes Docker 容器
rancher docker k8s安装(二)
rancher docker k8s安装(二)
65 0
|
1天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
14 2
|
13天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
1月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
72 1