赞
踩
支持中文界面
https://helm.sh
Helm在K8S当中扮演的角色相当于,在centos中的yum,可以很好的把yaml文件进行打包部署到K8S集群当中。
如果使用之前的方式部署,少量的应用,比较适合,管理起来不是那么费事儿,但是如果部署微服务项目,可能有几十上百的yaml文件,那么后期管理升级就太费劲了,Helm很好解决了这个问题。
整体可以理解为helm=kubectl,chart=yaml文件集合,relese=pod,初学者可以先行这样理解有个概念,后续在针对性理解。
图片为“B站尚硅谷”出品
链接:https://pan.baidu.com/s/1iBO6zi8yeuADZvM88ZR0tA 提取码:46m6
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享
tar xvf helm-v3.0.0-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
helm version
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}
在V3版本中,这样就可以使用了,但是在V2版本中,需要授权,还需要安装tiller,具体V2安装可以查看其他文档,我没写嘿嘿嘿!
因为官方仓库地址在国外,你懂的。
#微软
helm repo add stable http://mirror.azure.cn/kubernetes/charts
#阿里
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add aliyuncs https://apphub.aliyuncs.com
#查看是否添加成功
helm repo list
#NAME URL
#stable http://mirror.azure.cn/kubernetes/charts
#aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
#更新源
helm repo update
感觉像不像配置yum仓库??哈哈哈哈
至此,helm就已经部署完毕了,接下来演示helm使用。
列出当前所有能使用的chart——类似于docker search
helm search repo nginx
NAME CHART VERSION APP VERSION DESCRIPTION
aliyun/nginx-ingress 0.9.5 0.10.2 An nginx Ingress controller that uses ConfigMap...
aliyun/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego
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
stable/nginx-ingress 1.41.3 v0.34.1 DEPRECATED! An nginx Ingress controller that us...
stable/nginx-ldapauth-proxy 0.1.6 1.13.5 DEPRECATED - nginx proxy with ldapauth
stable/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego
aliyun/gcloud-endpoints 0.1.0 Develop, deploy, protect and monitor your APIs ...
stable/gcloud-endpoints 0.1.2 1 DEPRECATED Develop, deploy, protect and monitor..
安装——神似yum -y install哈哈哈
格式:helm install 新名字 charit
helm install nginx aliyuncs/nginx #查看 helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION nginx default 1 2021-06-10 02:35:21.579608615 -0400 EDT deployed nginx-5.1.5 1.16.1 #查看详细信息 helm status nginx NAME: nginx LAST DEPLOYED: Thu Jun 10 02:35:21 2021 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/"
pod已经运行了
kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-7f5bc7bbf-wjbsc 1/1 Running 0 3m32s
svc
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 11d
nginx LoadBalancer 10.1.175.118 <none> 80:30360/TCP,443:32118/TCP 17m
访问IP为pod运行在哪个node上的IP,这是因为没有ingress。
curl -I 192.168.100.140:30360
HTTP/1.1 200 OK
Server: nginx/1.16.1
卸载
helm uninstall nginx
快速部署是不是很像yum安装?什么依赖包都给你整理好了直接下载使用,自主部署相当于源码包安装,依赖需要自己解决。
创建chart模板
会生成几个模板
helm create web1
ls web1/
charts Chart.yaml templates values.yaml
模板讲解
这里就不再写了,直接生成了,一定要在templates里编辑yaml文件,别问问什么,“王八的屁股——规定”
cd web1/templates/
rm -rf ./*
#deployment.yaml
kubectl create deployment web1 --image=nginx -o yaml > nginx-deployment.yaml
kubectl create -f nginx-deployment.yaml
kubectl get pod
web1-74b5695598-v89z6 1/1 Running 0 31s
#svc.yaml
kubectl expose deployment web1 --port=80 --target-port=80 --type=NodePort -o yaml > svc.yaml
之前创建只是为了生成svc
kubectl delete -f nginx-deployment.yaml
格式:helm install 名称 目录
helm install nginx web1/
NAME: nginx
LAST DEPLOYED: Thu Jun 10 07:28:11 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
查看chart
helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
nginx default 1 2021-06-10 07:28:11.586300723 -0400 EDT deployed web1-0.1.0 1.16.0
curl -I 192.168.100.140:31743
HTTP/1.1 200 OK
Server: nginx/1.21.0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。