Centos 安装 helm3和使用

helm 是基于 kubernetes 的包管理器。它之于 kubernetes 就如 yum 之于 centos,pip 之于 python,npm 之于 javascript

那 helm 的引入对于管理集群有哪些帮助呢?可体现在基础运维建设及业务应用两方面

  1. 基础设施,更方便地部署与升级基础设施,如 gitlabprometheusgrafanaES 等

  2. 业务应用,更方便地部署,管理与升级公司内部应用,为公司内部的项目配置 Chart,使用 helm 结合 CI,在 k8s 中部署应用如一行命令般简单

让开发人员写 k8s 资源配置文件是不现实的

  1. 不是所有开发都了解 k8s,或者说很少,不了解 k8s 很难写资源配置部署文件

  2. 开发的主要职能还是在业务上

于是 helm 应时而出,运维通过 helm 配置好资源文件模板,然后交给开发填参数。

 

Helm

Helm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。

Tiller(helm3已经没有了)

Tiller 是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。

Chart

Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。

Repoistory

Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。https://blog.csdn.net/Michaelwubo/article/details/108703681

Release

使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。

 

Helm 有两个重要得概念:chart 和 release

chart :是创建一个应用的信息集合,包括各种 kubernetes 对象得配置模板、参数定义、依赖关系、文档说明等,可以将 chart 想象成 yum 中的软件安装包

release :是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 kubernetes 集群,就会生成一个 release,chart 能够多次安装到同一个集群,但是只会有一个 release

1、下载

[root@localhost ingress]# wget https://get.helm.sh/helm-v3.1.0-linux-amd64.tar.gz

2、解压

tar -zxvf helm-v3.2.0-linux-amd64.tar.gz

3、拷贝

cp linux-amd64/helm /usr/local/bin

 4、验证

[root@localhost ingress]# helm version
version.BuildInfo{Version:"v3.1.0", GitCommit:"b29d20baf09943e134c2fa5e1e1cab3bf93315fa", GitTreeState:"clean", GoVersion:"go1.13.7"}
5、添加 chart 源
[root@localhost ingress]# helm repo add  aliyuncs https://apphub.aliyuncs.com

6、查询当前集群有哪些 chart 库 

[root@localhost ingress]# helm repo list
NAME    	URL                        
aliyuncs	https://apphub.aliyuncs.com

7、查询某个库 有哪些安装程序

[root@localhost ingress]# helm search repo aliyuncs | head -5
NAME                                   	CHART VERSION	APP VERSION                 	DESCRIPTION                                       
aliyuncs/admin-mongo                   	0.1.0        	1                           	MongoDB管理工具(web gui)                          
aliyuncs/aerospike                     	0.3.2        	v4.5.0.5                    	A Helm chart for Aerospike in Kubernetes          
aliyuncs/airflow                       	4.3.3        	1.10.9                      	Apache Airflow is a platform to programmaticall...
aliyuncs/ambassador                    	5.3.0        	0.86.1                      	A Helm chart for Datawire Ambassador

8、查找安装程序

[root@localhost ingress]# helm search repo nginx
NAME                             	CHART VERSION	APP VERSION         	DESCRIPTION                                       
aliyuncs/nginx                   	5.1.5        	1.16.1              	Chart for the nginx server                        
aliyuncs/nginx-ingress           	1.30.3       	0.28.0              	An nginx Ingress controller that uses ConfigMap...
aliyuncs/nginx-ingress-controller	5.3.4        	0.29.0              	Chart for the nginx Ingress controller            
aliyuncs/nginx-lego              	0.3.1        	                    	Chart for nginx-ingress-controller and kube-lego  
aliyuncs/nginx-php               	1.0.0        	nginx-1.10.3_php-7.0	Chart for the nginx php server

9、安装一个程序

helm install nginx liyuncs/nginx

10、查询 svc


[root@master1 ~]# kubectl get svc -n default

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 116m

nginx LoadBalancer 10.99.247.71 <pending> 80:30300/TCP,443:32617/TCP 45s

11、访问 集群

​

[root@master1 ~]# curl http://10.99.247.71

<!DOCTYPE html>

<html>

<head>

<title>Welcome to nginx!</title>

.......

<p><em>Thank you for using nginx.</em></p>

</body>

</html>

​

12、查看安装的应用

[root@master1 ~]# helm list

NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION

nginx default 1 2020-12-15 11:48:13.181211885 +0800 CST deployed nginx-5.1.5 1.16.1
13、删除一个应用
helm uninstall nginx

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值