专栏首页运维笔记helm安装、使用、实践

helm安装、使用、实践

helm简介

Helm 是管理 Kubernetes 的应用管理工具 相当于centos的yum,python中pip,node中的npm.

几个概念

  • Chart Helm的应用包,采用tgz格式。类似于Yum的RPM包,其包含了一组定义Kubernetes资源相关的YAML文件。也称为应用Chart。
  • Repoistory Helm的应用仓库,Repository本质上是一个Web服务器,该服务器保存了一系列的Chart应用包以供用户下载,并且提供了一个该Repository的Chart包的清单文件以供查询。Helm可以同时管理多个不同的Repository。 Helm社区官方提供了stable和incubator仓库,但Helm社区没有打算独占仓库,而是允许其他人和组织也可以搭建仓库。仓库可以是公共仓库,也可以是私有仓库。
  • Hub 不同的个人和组织提供的公共仓库形成了分散和分布的Helm仓库,不利于查找,所以官方提供了Helm Hub,各公共仓库可以注册到Helm Hub中以方便集中查找,Helm Hub只是分布的仓库的集中展示中心。 仓库注册到Helm Hub时,会将Chart清单文件向Helm Hub同步一份,这样可以在Helm Hub集中展示仓库列表和各仓库中的Chart列表。 Chart包也就是tgz文件实际上存储在各仓库中。Helm Hub并不实际存储Chart包。Helm只是在查询Chart时和Helm Hub有交互,其它操作都是和仓库直接交互的。
  • Release 在Kubernetes集群上运行的Chart的一个实例。在同一个集群上,一个Chart可以安装很多次。每次安装都会创建一个新的Release。例如一个MySQL Chart,如果想在服务器上运行两个MySQL数据库,就可以把这个Chart安装两次。每次安装都会生成一个新的Release

helm安装和使用

二进制安装

#根据操作系统去获取最新二进制安装包https://github.com/helm/helm/releases       
wget https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz       
#由于helm包在国外,我通过ss拉到了腾讯云cos,国内可通过以下地址访问:https://download.osichina.net/tools/k8s/helm/helm-v3.3.1-linux-amd64.tar.gz       
tar -zxvf helm-v3.3.1-linux-amd64.tar.gz       
cp linux-amd64/helm /usr/local/bin/

helm其他安装可参考官方网站: https://helm.sh/docs/intro/install/

注意: helm 客户端需要下载到安装了 kubectl 并且能执行能正常通过 kubectl 操作 kubernetes 的服务器上, 否则 helm 将不可用

使用

配置
helm repo add  elastic    https://helm.elastic.co       
helm repo add  gitlab     https://charts.gitlab.io       
helm repo add  harbor     https://helm.goharbor.io       
helm repo add  bitnami    https://charts.bitnami.com/bitnami       
helm repo add  incubator  https://kubernetes-charts-incubator.storage.googleapis.com       
helm repo add  stable     https://kubernetes-charts.storage.googleapis.com       
#添加国内仓库       
helm repo add stable http://mirror.azure.cn/kubernetes/charts       
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts       
helm repo update       
helm repo list       
实践

1.helm安装nginx

关键解释

#搜索       
helm search repo nginx       
#安装       
helm install nginx bitnami/nginx -n nginx       
nginx/
├── charts   #依赖其他包的charts文件       
├── Chart.yaml   # 该chart的描述文件,包括ico地址,版本信息等       
├── templates   #存放k8s模板文件目录       
│   ├── deployment.yaml   #创建k8s资源的yaml 模板       
│   ├── _helpers.tpl   #下划线开头的文件,可以被其他模板引用.
│   ├── hpa.yaml   # 配置服务资源CPU 内存       
│   ├── ingress.yaml   # ingress 配合service域名访问的配置       
│   ├── NOTES.txt   #说明文件,helm install之后展示给用户看的内容       
│   ├── service.yaml   #kubernetes Serivce yaml 模板       
└── values.yaml   #给模板文件使用的变量       

2.推荐实践

关键解释

#查询已安装       
helm list -A       
#搜索       
helm search repo nginx       
#拉取到本地       
helm pull bitnami/nginx --untar       
#根据values.yml配置本地安装       
helm install nginx . -f values.yaml -n nginx       
#根据values.yml配置本地升级       
helm upgrade nginx . -f values.yaml -n nginx       
#卸载       
helm uninstall nginx -n nginx       

关键解释

#使用set更新       
helm upgrade tomcat bitnami/tomcat --set service.type=NodePort  --set persistence.enabled=false       
helm list       
#查看状态       
helm status tomcat       
#使用values.yaml更新       
helm upgrade -f values.yaml tomcat .
#查看更新历史       
helm history tomcat       
#回滚       
helm rollback tomcat 2       

helm安装nfs storageclasses

安装nfs

yum -y install epel-release       
yum -y install nfs-utils rpcbind       
systemctl enable rpcbind nfs-server nfs-lock nfs-idmap       
systemctl start rpcbind nfs-server nfs-lock nfs-idmap       
#172.18.4.*的IP都能访问nfs       
echo "/data 172.18.4.*(rw,sync,no_root_squash)" >  /etc/exports       
exportfs -a       

安装nfs storageclasses

helm pull stable/nfs-client-provisioner --untar       
cd nfs-client-provisioner/
vim values.yaml       
helm install nfs -f values.yaml .

values.yaml

...
nfs:
  server: 172.18.4.202       
  path: /data/nfs       
  mountOptions:
...

helm安装ingress

由于GFW的原因,镜像下载失败,我这边是从本地下载好导入.

关键点

helm search repo ingress       
helm pull stable/nginx-ingress --untar       
helm install ingress -f values.yaml . -n ingress       
vim nginx-ingress/values.yaml       
helm upgrade -f values.yaml ingress . -n ingress       
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.pvcreate.com复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Kubernetes 安装 Helm 并使用 Helm 安装 wordpress

    chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可...

    tanmx
  • 快速安装 Helm

    Helm 是 Kubernetes 的包管理器,可以帮我们简化 kubernetes 的操作,一键部署应用。假如你的机器上已经安装了 kubectl 并且能够操...

    imroc
  • Helm 安装Traefik

    在kubernetes中发布容器后,需要把服务暴露给外部访问,暴露的方式有多种:

    Criss@陈磊
  • Istio Helm安装

    YP小站
  • helm安装ingress

    堕落飞鸟
  • Helm 从入门到实践

    Helm 是 Kubernetes 的软件包管理工具。本文需要读者对 Docker、Kubernetes 等相关知识有一定的了解。 本文将介绍 Helm 中的相...

    py3study
  • Helm从入门到实践

    Helm从入门到实践

    Java架构师必看
  • 容器 & 服务:Helm Charts(二)安装与使用

    在Helm基础概念介绍完成后,我们安装并搭建可运行的Helm环境,并在此环境上进行各种操作尝试。

    程序员架构进阶
  • Linkerd 2.10(Step by Step)—使用 Helm 安装 Linkerd

    Linkerd 可以选择通过 Helm 安装,而不是使用 linkerd install 命令。

    为少
  • 如何安装 Helm?Helm 2.16.0版本安装,MacOS

    Helm 官网指导(V2 版本):https://v2.helm.sh/docs/using_helm/#quickstart-guide

    hugo_lei
  • Helm从入门到实践

    Helm 是 Kubernetes 的软件包管理工具。本文需要读者对 Docker、Kubernetes 等相关知识有一定的了解。 本文将介绍 Helm 中的相...

    全栈程序员站长
  • Helm安装Prometheus Operator

    使用 helm 安装 Prometheus Operator。使用 helm 安装后,会在 Kubernetes 集群中创建、配置和管理 Prometheus ...

    py3study
  • kubernetes-19:helm安装

    比如readness,liveness的命令行/脚本的写法,特别是一些中间件,我只需要用helm执行后查看yaml,然后拷贝出对应的yaml部分即可。自己写太麻...

    Criss@陈磊
  • kubernetes之helm简介、安装、配置、使用指南

    很多人都使用过Ubuntu下的ap-get或者CentOS下的yum, 这两者都是Linux系统下的包管理工具。采用apt-get/yum,应用开发者可以管理应...

    菲宇
  • helm介绍与使用

    helm是k8s的一个包管理工具,可以简化k8s应用的部署和管理,可以理解为yum和或者apt等包管理工具。 helm有几个非常重要的概念

    dogfei
  • helm安装redis-cluster

    发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100345.html原文链接:

    全栈程序员站长
  • kubernetes-19:helm安装

    比如readness,liveness的命令行/脚本的写法,特别是一些中间件,我只需要用helm执行后查看yaml,然后拷贝出对应的yaml部分即可。自己写太麻...

    千里行走
  • Kubernetes 1.20.5 helm 安装jenkins

    前面https://www.yuque.com/duiniwukenaihe/ehb02i/dkwh3p的时候安装了cilium hubble的时候安装了he...

    对你无可奈何
  • Helm工具安装配置——2.14.3

    在Kubernetes中部署容器云的应用也是一项有挑战性的工作,Helm就是为了简化在Kubernetes中安装部署容器云应用的一个客户端工具。通过helm能够...

    小手冰凉

扫码关注腾讯云开发者

领取腾讯云代金券