[Helm](http://helm.sh/)是一个kubernetes应用的包管理工具,用来管理[charts](https://github.com/kubernetes/charts)——预先配置好的安装包资源,有点类似于Ubuntu的APT和CentOS中的yum。
## 安装依赖
```
yum -y install socat
```
> 所有节点都安装
## 下载所需文件
- 下载helm包
```
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz
```
如果你没有科学上网可能无法下载,可通过下面的方法下载
```
wget https://source-82722.oss-cn-beijing.aliyuncs.com/helm/helm-v2.13.1-linux-amd64.tar.gz
tar zxf helm-v2.13.1-linux-amd64.tar.gz
mv linux-amd64 /usr/local/bin/helm
```
- 下载tiller镜像
如果你使用了科学上网可忽略该步骤,一位大牛提供了针对国外镜像的下载,有兴趣的可以看下[https://github.com/zhangguanzhang/gcr.io](https://github.com/zhangguanzhang/gcr.io)
```
curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s -- gcr.io/kubernetes-helm/tiller:v2.13.1
v2.13.1: Pulling from zhangguanzhang/gcr.io.kubernetes-helm.tiller
5d20c808ce19: Pull complete
43339c468bb6: Pull complete
d6d696e230df: Pull complete
9cf2c942cf64: Pull complete
Digest: sha256:d52b34a9f9aeec1cf74155ca51fcbb5d872a705914565c782be4531790a4ee0e
`
```
## 初始化helm
```
helm init
```
## 验证
tiller运行正常
```
kubectl -n kube-system get pod -l app=helm
NAME READY STATUS RESTARTS AGE
tiller-deploy-c48485567-shwp5 1/1 Running 0 50m
```
```
helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
```
## 修改repo
```
$ helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
$ helm repo remove stable
"stable" has been removed from your repositories
$ helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"stable" has been added to your repositories
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈
$ helm repo list
NAME URL
local http://127.0.0.1:8879/charts
stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
```
## 创建rabc
```
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"}}}}'
```
## 部署mysql
```
helm install stable/mysql
kubectl get pod
NAME READY STATUS RESTARTS AGE
dull-snail-mysql-5d4b968dff-w57l5 1/1 Running 0 96s
```
- kubernetes基础
- 安装kubernetes
- kubeadm平滑升级群集
- Taint和Toleration
- 使用HostAliases向Pod /etc/hosts 文件添加条目
- ConfigMap
- 插件
- 支持外部dns
- 安装helm
- HPA
- 存储
- 本地存储
- 网络存储
- Secret
- ConfigMap
- QA
- k8s使用时需要注意的坑点
- 容器中的JVM资源该如何被安全的限制
- 项目实践
- eureka集群
- Traefik ingress服务发现与负载均衡
- etcd数据备份与恢复
- deployment滚动升级与回滚
- 监控
- prometheus operator初体验
- prometheus-operator监控
- metrics-server监控kubernetes资源
- weave scope可视化监控