helm安装和使用-通过helm部署k8s应用

微信公众号搜索 DevOps和k8s全栈技术,点击关注即可查看最新的技术文章,也可通过文章底部扫码关注,每天会分享技术和生活点滴,愿同大家共同进步,共同成长~

helm安装

Helm相当于linux环境下的yum包管理工具。helm是k8s中的一个命令行客户端工系统运维工程师具,helm是tiller的客户端,tiller是一个守护进程,接收helm的请求,helm把请求交给tiller,tiler和a客户端无法与登录队列进行通讯piserlinuxver交github是干什么的互,由ap系统运维工资一般多少iserver负责客户端无法与登录队列进行通讯完成创建,我们用哪个chart需giti轮胎要下载到本地,基于本地这个chart部署实例,这个部署的实例叫做release。​

1.chart是什么?

一个helm程序包,比方说我们部署nginx,需要deployment的yaml,需要serlinux命令vice的yaml,这两个清单文件就是一个helm程序包,在k8s中把这些yaml清单文件叫做chart图表

2.values.yaml文件

values.yaml文件为模板中的文件赋值,可以实现git我们自定义安装,如果是chart开发者需要自定义模板,如果是cgit命令hargiteet使用者只需要修改values.yaml即可。

3.helm可理解如下

helm把kuberneteslinux系统资源打包到一个chart中,linux系统制作并完成各个c客户端下载安装hart和chart本身依赖关系并利用chart仓库实现对外分发,而helm还可实现可配置的对外发布,通过values.yaml文件完成可配置的发布,如果chart版本更新了,hegithub中文官网网页lm自动支持滚更更新机制,还可以一键回滚,但是不是适合在生产环境使用,除非具有客户端打开定义自制chart的能力,helm属于kubernetes一个项目,下客户端无法与登录队列进行通讯地址

​​

​​

​​

找这个checksum的,解压之github开放私库后按下面解压即可

helm官方网站:

​​

​​

​​

helm 官方的chart站点:

​​

​​

​​客户端微信

4系统运维工资一般多少.repositogithub是干什么的ry、release、chart关系

repositolinux系统安装ry:存放chart图表的仓库,提供部署github永久回家地址k8客户端版本低怎样升级s应用程序需要的那些yaml清单文件

releaslinux命令e:特gitlab定的chart部署于目标集git命令群上的一个实例

chart--->通过values.yaml客户端和服务端区别这个文件赋值--github开放私库>生成release实例

helgithub开放私库m也是go语言开发的

5.安装helm客户端linux操作系统基础知识,在k8s的master节点操作

下载软件包,软件包所在百度网盘地址如下:

链接:https://pan.baidu.com/s/15Qlcng6--QwCxoZjt1TGeA 
提取码:c70b

tar -xzvf helm-v2.1客户端;3.1-linux-amd64.tar.gz

cd linux-amd64

cp helm /usr/locallinux重启命令/bin

helm version

报错,显示没有tiller server端

安装helm的服务端tiller

安装helm服务端tiller

rbac.yaml参考链接如下:

​​

​​

​​

cat rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system

更新yaml文件

kubectl apply -f rbac.yaml

把tiller的镜像压缩包传到k8s的各个node节点,然后手动docker load -i 把镜像解压到本地,镜像所在百度网盘地址如下:

链接:https://pan.baidu.com/s/1Z_yuava-8W65mn5tla7cFw 
提取码:bd2n

在k8s的node节点解压镜像

docker load -i tiler_2_13_1.tar.gz

cat tiller.yaml

---
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
spec:
selector:
matchLabels:
app: helm
name: tiller
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
spec:
automountServiceAccountToken: true
serviceAccount: tiller
containers:
- env:
- name: TILLER_NAMESPACE
value: kube-system
- name: TILLER_HISTORY_MAX
value: "0"
image: gcr.io/kubernetes-helm/tiller:v2.13.1
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /liveness
port: 44135
initialDelaySeconds: 1
timeoutSeconds: 1
name: tiller
ports:
- containerPort: 44134
name: tiller
- containerPort: 44135
name: http
readinessProbe:
httpGet:
path: /readiness
port: 44135
initialDelaySeconds: 1
timeoutSeconds: 1
resources: {}
status: {}


---
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
spec:
ports:
- name: tiller
port: 44134
targetPort: tiller
selector:
app: helm
name: tiller
type: ClusterIP
status:
loadBalancer: {}


...

更新yaml文件

kubectl apply -f tiller.yaml

验证tiller是否部署成功:

kubectl get pods -n kube-system

显示如下giti,说明部署成功

tiller-deploy-7bd89687c8-tv7cn    1/1     Running   0          2d8h

验证helm版本

hegithublgiti轮胎m version

可看到如下:

Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

上面结果可看到he客户端打lm客户端和服务端版本一致,都安装好了

helm常用命令如下

(1)和release相关的

升级一个版本

helm upgrade

helm upgradlinux删除文件命令e [RELEASE] [CHART] [flags]

回滚一个版本

helm rollback

helm rollback [flags] [RELEASE] [REVISION]

创建一个release实linux系统安装

helm install

删除一个release

helm del系统运维工资一般多少ete

查看历史

helm histo客户端下载安装ry

(2)和chart相关的

查看chart的详细信息

helm inslinux是什么操作系统pect

把chart下载下来

helmgitlab fetch

把chart打包

helm package

技术交流

学无止境,了解更多关于kubernetes/docker/devops/openstack/openshift/linux/IaaS/PaaS相关内容,想要获取更多资料和免费视频,可按如下方式进入技术交流群​

按如下指纹可系统运维工程师关注公众号