helm简介

在没有使用 helm 之前,在 kubernetes 部署应用,需要依次部署 deployment、SVC 等步骤较为繁琐。
况且,随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm通过打包得方式,支持发布得版本管理和控制,很大程度上简化了 kubernetes 应用得部署以及管理。

简单来说,helm的引入,我们不需要编写复杂的yaml配置文件,可以方便我们快速部署应用。有点类似我们使用yum安装一些软件,一条命令搞定收工。

使用helm快速部署应用

前提是k8s集群环境已搭建好,k8s集群的搭建可以参考我的博客https://blog.csdn.net/huangbaokang/article/details/109672026

helm的安装其实就像tomcat的安装,解压即可使用。
注意版本,helm又2和3版本,不同的版本跟k8s集群有兼容。
如下是我的版本
在这里插入图片描述
我下载安装的是helm3
解压

tar -zxvf helm-v3.0.0-linux-amd64.tar.gz
cd linux-amd64
cp helm /usr/bin/

这样即可使用helm了
在这里插入图片描述

我们需要添加repo(仓库)

[root@k8s-master ~]# helm repo add  aliyuncs https://apphub.aliyuncs.com
"aliyuncs" has been added to your repositories

查看仓库

[root@k8s-master ~]# helm repo list
NAME    	URL                        
aliyuncs	https://apphub.aliyuncs.com

删除仓库的命令是helm repo remove aliyuncs
更新的命令是helm repo update

添加好仓库之后,我们就可以通过仓库搜索我们要的chart,以nginx为例

[root@k8s-master ~]# 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    

进行安装

[root@k8s-master ~]# helm install nginx aliyuncs/nginx
NAME: nginx
LAST DEPLOYED: Wed Nov 25 09:49:17 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Get the NGINX URL:

  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
        Watch the status with: 'kubectl get svc --namespace default -w nginx'

  export SERVICE_IP=$(kubectl get svc --namespace default nginx --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
  echo "NGINX URL: http://$SERVICE_IP/"

我们可以根据提示查看端口映射,不过要按ctrl+c结束,我们也可以使用不带参数的形式查看
在这里插入图片描述
通过其他节点访问端口,截图可以看到31421端口
在这里插入图片描述
除了在install的时候可以看到提示,我们也可以跟踪发布状态
在这里插入图片描述
查看当前部署的应用,helm list命令
在这里插入图片描述
卸载应用helm uninstall 应用名,再次查看,没有了
在这里插入图片描述

Logo

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

更多推荐