helm把一系列复杂的有状态和无状态服务的部署封装起来(实际上就是对yaml文件的组织),而后你能够暴露出一些自定义参数信息供用户选择,这样部署就会变得简单不少.linux
wget https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz tar xf helm-v2.14.3-linux-amd64.tar.gz cd linux-amd64 #进入解压目录会看到两个可执行文件helm和tiller, 若采用容器化部署到kubernetes中,则能够不用管tiller,只需将helm复制到/usr/bin目录便可 cp helm /usr/bin/ echo "source <(helm completion bash)" >> /root/.bashrc # 命令自动补全
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
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
由于墙, 因此指定国内tiller镜像, tiller标签和helm保持一致, 这里是v2.14.3git
kubectl get pods -n kube-system -l app=helm kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
初始化后经过命令查看tiller pod建立状况github
因为阿里的chart源可能更新不及时, 会比较老, 因此建议替换为默认源或者微软的azure源redis
参考连接: https://github.com/BurdenBear/kube-charts-mirrorapi
helm repo add stable http://mirror.azure.cn/kubernetes/charts/ helm repo add incubator http://mirror.azure.cn/kubernetes/charts-incubator/
命令 | 做用 |
---|---|
搜索chart | helm search CHARTNAME |
查看chart详细信息 | helm inspect CHARTNAME |
安装 | helm install --name mem1 stable/memcached [--dry-run] |
获取状态信息 | helm status mem1 |
列出release | helm list [-a] |
删除release | helm delete [--purge] mem1 |
下载chart | helm fetch stable/redis |
建立chart | helm create CHARTNAME |
语法检测 | helm lint CHARTNAME |
打包 | helm package CHARTNAME |
http://www.javashuo.com/article/p-zkxxbnhn-kc.html
https://jimmysong.io/kubernetes-handbook/practice/helm.htmlbash