×

Kubernetes使用Helm部署应用

96
殷临风
2018.03.06 14:58* 字数 215
# 下载脚本并执行安装
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh

bash get_helm.sh
# 查看Helm客户端的版本号
helm version

注意这个版本号, 后续容器服务的版本要和这个一致, 否则会出现问题

# 在 Kubernetes 群集上安装 Tiller
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.8.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

Helm init --upgrade会在Kubernetes集群上安装配置Tiller, 镜像默认使用gcr.io/kubernetes-helm/tiller; 仓库默认使用https://kubernetes-charts.storage.googleapis.com。由于国内无法访问相关域名,可以使用阿里云容器服务提供的镜像和站点。

注意镜像版本问题, 要和客户端一致

查看容器启动情况
# 查看已部署的应用
helm list

Kubernetes 1.6开始,API Server启用了RBAC授权。而Tiller部署没有定义授权的ServiceAccount,这会导致访问API Server时被拒绝。我们可以采用如下方法,为Tiller部署添加授权。

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"}}}}'

如果授权之后再执行, 出现下面情况, 可以将pod删掉, 让它重新创建从而重新读取配置文件

Kubernetes
Web note ad 1