Helm
包管理工具
github搜索helm
wget https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz
解压:tar -zxf helm-v2.14.3-linux-amd64.tar.gz
cd linux-amd64/
mv helm /usr/local/bin/
chmod +x /usr/local/bin/helm
测试:helm help
补齐:source <(helm completion bash)
因为k8s认证严格,要提前创建rbac
[root@master ~]# cat tiller-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
应用:kubectl apply -f tiller-rbac.yaml
初始化:helm init --service-account=tiller
更改源:helm repo add stable https://kubernets.oss-cn-hangzhou.aliyuncs.com/charts
helm repo update
helm repo list
kuberctl get deploy -n kube-system -l app=helm
在node节点上下载镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3
改名:
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 gcr.io/kubernetes-helm/tiller:v2.14.3
查看:kubectl get deployments. -n kube-system -l app=helm
Helm核心概念:
Helm:客户端,Tiller:服务端
Charts:是一个Helm的程序包,他包含了运行一个k8s应用所需要的镜像,依赖关系和资源关系等
Repository:Charts仓库,用于集中存储和分发Charts
Config:应用程序实例化安装运行时使用的配置信息
Release:应用程序实例化配置后运行k8s集群中的一个Charts实例,同一个集群中,一个Charts可以使用不同的Config重复安装多次
注意事项:部署实例之前,注意mysql服务的密码可以设置,
搜索:helm search 关键字
查看详细信息:helm inspect stable/redis
安装程序:helm install stable/mysql #安装时会随机生成NAME字段,可以使用-n指定
删除程序:helm delete jaunty-bunny #在安装时随机成成的程序名
查看实例:helm list
helm install stable/mysql --set mysqlRootPassword=123.com -n bdqn
创建chart:helm create mychart