K8S集群安装(四)使用helm安装应用

[toc] #安装 使用脚本安装

#!/bin/bash

#安装helm

#官方提供的脚本安装
#curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
#chmod 700 get_helm.sh
#./get_helm.sh

#自行下载安装
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
tar -zxvf helm-v2.9.1-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
#开启命令补全 ##todo 测试没通过
helm completion bash > .helmrc && echo "source .helmrc" >> .bashrc

echo "helm 版本"
helm version

sleep 2
#Tiller服务器运行在Kubernetes集群中,它会处理Helm客户端的请求,与Kubernetes API Server交互。
#安装tiller
helm init --upgrade --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
#查看tiller服务
kubectl get --namespace=kube-system svc tiller-deploy

#授权
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

#查看授权
kubectl get deploy --namespace kube-system   tiller-deploy  --output yaml|grep  serviceAccount
#查看tiller是否安装成功
kubectl -n kube-system get pods|grep tiller

#安装应用 ##搜索应用 helm search mysql

##查看应用 使用helm安装服务虽然方便,但需要先查看helm包的安装要求,如果不满足这些安装要求,也是安装不成功的。 helm inspect values stable/mysql

##mysql helm inspect values stable/mysql 查看注释可知mysql chart 支持什么参数。安装之前需要做哪些准备。其中有一部分是关于存储的。由于我们的实验环境不支持动态供给,因此要预 先创建好相应的PV。

创建PV

kubectl  apply -f mysql-pv.yml
kubectl  get  pv

安装 在安装中需要传递参数,有两种方式: (1)指定自己的values文件。通常的做法是首先通过helm inspect values mysql >myvalues.yaml生成values文件,然后设置 mysqlRootPassword,最后执行helm install--values=myvalues.yaml Mysq (2)通过--set直接传入参数值。

helm install stable/mysql --set mysqlRootPassword=abc111 -n my

设置密码,密码不能设置成纯数字,否则会报错。 mysqlRootPassword=asdf123 root空密码 mysqlAllowEmptyPassword=true
端口: 配置文件:

-n 设置名称

##验证

helm list   可以查看chart的最新状态。
helm status xx可以查看chart的详细信息。

#在运行中修改应用

kubectl  describe service
kubectl --namespace=default edit service my-mysql

#删除应用 通过helm ls --all查看所有的helm应用,使用del --purge XX 删除。

helm del --purge mysql

#常用操作

Helm 常用命令
查看版本

#helm version  

查看当前安装的charts

#helm list

查询 charts

#helm search redis

安装charts

#helm install --name redis --namespaces prod bitnami/redis

查看charts状态

#helm status redis

删除charts

#helm delete --purge redis

增加repo

#helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

#helm repo add --username admin --password password myharbor https://harbor.qing.cn/chartrepo/charts

更新repo仓库资源

#helm repo update

创建charts

#helm create helm_charts

测试charts语法

#helm lint 

打包charts

#cd helm_charts && helm package ./

查看生成的yaml文件

#helm  template  helm_charts-0.1.1.tgz

更新image

#helm upgrade --set image.tag='v2019-05-09-18-48-40' study-api-en-oral myharbor/study-api-en-oral

回滚relase

#helm hist study-api-en-oral

#helm rollback study-api-en-oral 4
原文地址:https://www.cnblogs.com/zhaobowen/p/13369610.html