Helm工具安装
java使用maven;前端使用npm;python使用pip;运维使用yum或apt。分工不同,诉求却相同,都希望有一种资源管理工具,可以方便查找、下载、安装、使用和分发程序包。helm 也一样,它是 k8s 的资源包管理工具。它使我们操作的对象不再是单个资源,而是一个实体。比如我们需要一个负载均衡的 web 服务,如果不使用 helm,我们需要写 deployment,service 和 in
目录
一、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 #查看安装好的应用列表
更多推荐
所有评论(0)