目录

一、Helm介绍

二、Helm术语

三、Helm架构

四、部署 Helm

1、安装 helm 客户端

2、配置仓库

3、helm自动补全命令

4、安装、卸载软件


一、Helm介绍

       java使用maven;前端使用npm;python使用pip;运维使用yum或apt。分工不同,诉求却相同,都希望有一种资源管理工具,可以方便查找、下载、安装、使用和分发程序包。

       helm 也一样,它是 k8s 的资源包管理工具。它使我们操作的对象不再是单个资源,而是一个实体。比如我们需要一个负载均衡的 web 服务,如果不使用 helm,我们需要写 deployment,service 和 ingress 才可以让集群外部的客户使用。但是如果使用 helm,直接使用一个 install 命令便可以实现相同的功能。

二、Helm术语

Chart

chart 是 k8s 的资源包。一个 Helm 包,其中包含了运行一个应用所需要的镜像、依赖和资源定义等,还可能包含 Kubernetes 集群中的服务定义,类似 Homebrew 中的 formula、APT 的 dpkg 或者 Yum 的 rpm 文件。

Release

release 是 k8s 运行的资源。可以将其类比为进程。只不过在 k8s 中,运行的实体是一个一个的资源。在 Kubernetes 集群上运行的 Chart 的一个实例。在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。例如一个 MySQL Chart,如果想在服务器上运行两个数据库,就可以把这个 Chart 安装两次。每次安装都会生成自己的 Release,会有自己的 Release 名称。比如 deployment、pod、configmap、secret 等。

Repository

Repository用于发布和存储Chart的存储库

三、Helm架构

Chart Install 过程:

  • Helm从指定的目录或者tgz文件中解析出Chart结构信息
  • Helm将指定的Chart结构和Values信息通过gRPC传递给Tiller
  • Tiller根据Chart和Values生成一个Release
  • Tiller将Release发送给Kubernetes运行。

Chart Update过程:

  • Helm从指定的目录或者tgz文件中解析出Chart结构信息
  • Helm将要更新的Release的名称和Chart结构,Values信息传递给Tiller
  • Tiller生成Release并更新指定名称的Release的History
  • Tiller将Release发送给Kubernetes运行

四、部署 Helm

1、安装 helm 客户端

wget https://get.helm.sh/helm-v3.6.0-linux-amd64.tar.gz #helm包下载

tar -xvf helm-v3.6.0-linux-amd64.tar.gz && cd linux-amd64/ && mv helm /usr/bin 
#解压 && 移动到 /usr/bin 目录下

helm version#查看版本

2、配置仓库

#添加公用的仓库
helm repo add incubator https://charts.helm.sh/incubator
helm repo add bitnami https://charts.bitnami.com/bitnami

# 配置helm微软源地址
helm repo add stable http://mirror.azure.cn/kubernetes/charts

# 配置helm阿里源地址
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 查看仓库
helm repo list

# 更新仓库
helm repo update  

# 删除仓库
helm repo remove  aliyun

3、helm自动补全命令

source <(helm completion bash)

echo "source <(helm completion bash)" >> ~/.bashrc
source /usr/share/bash-completion/bash_completion

4、安装、卸载软件

查看nginx包

helm search repo nginx

安装 、删除 nginx

  • nginx1 自定义的应用名称

  • bitnami/nginx search中的NAME,要安装哪个应用,这里就指定search结果中的应用名称,也就是上图中红色部分

helm install nginx1 bitnami/nginx  #安装应用

helm uninstall nginx1   #卸载应用

helm list   #查看安装好的应用列表

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐