helm v2部署

官方部署文档:https://github.com/helm/helm/blob/master/docs/rbac.md

需要提前配置kubectl可以连接到集群

1、下载软件包

 wget https://storage.googleapis.com/kubernetes-helm/helm-v2.16.8-linux-amd64.tar.gz

2、解压helm

 tar -zxvf helm-v2.12.0-linux-amd64.tar.gz

3、复制客户端执行文件到 bin 目录下

 cp linux-amd64/helm /usr/local/bin/

4、安装 Helm 服务器端 Tiller

 helm init --upgrade --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.8 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts    

5、创建 Kubernetes 的服务帐号和绑定角色

 kubectl create serviceaccount --namespace kube-system tiller
 
 kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

6、为 Tiller 设置帐号, 使用 kubectl patch 更新 API 对象

kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

7、查看是否授权成功

 kubectl get deploy --namespace kube-system   tiller-deploy  --output yaml|grep  serviceAccount
 
 kubectl get sa -n kube-system|grep tiller

8、验证 Tiller 是否安装成功

kubectl -n kube-system get pods|grep tiller

helm version
如果提示portforward.go:400] an error occurred forwarding的报错需要安装socat这个包
yum -y install socat

9、卸载 Helm 服务器端 Tiller

helm reset

10、设置helm自动补全

   echo ". /etc/bash_completion" >> ~/.bashrc && source ~/.bashrc
   echo "source <(helm completion bash)" >> ~/.bashrc && source ~/.bashrc

11、helm安装在指定namespace,在集群外部虚拟机部署服务

集群内部署helm在deploy这个namespace
kubectl create deploy
helm init --upgrade  --tiller-namespace deploy --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.8 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
kubectl create serviceaccount --namespace deploy tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=deploy:tiller
kubectl patch deploy --namespace deploy tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

把集群凭证放到集群外部节点、并配置kubectl和集群同版本helm,执行以下命令验证和部署服务
helm version --tiller-namespace deploy
helm --tiller-namespace deploy install ./

12、k8s1.16版本以上部署helm注意事项
报错信息如下:

root@ops-duanshuaixing:~# helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.2 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
Creating /root/.helm 
Creating /root/.helm/repository 
Creating /root/.helm/repository/cache 
Creating /root/.helm/repository/local 
Creating /root/.helm/plugins 
Creating /root/.helm/starters 
Creating /root/.helm/cache/archive 
Creating /root/.helm/repository/repositories.yaml 
Adding stable repo with URL: https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts 
Adding local repo with URL: http://127.0.0.1:8879/charts 
****$HELM_HOME has been configured at /root/.helm.
Error: error installing: the server could not find the requested resource****

解决办法:

对于 Kubernetes v1.16.0 以上的版本,有可能会碰到 Error: error installing: the server could not find the requested resource 的错误。这是由于 extensions/v1beta1 已经被 apps/v1 替代。

helm init -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.11.0 --stable-repo-url http://mirror.azure.cn/kubernetes/charts/ --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Helm是一个用于管理Kubernetes应用程序的工具,它可以帮助开发者更轻松地部署、升级和管理应用程序的版本。Helm v2和v3是Helm的两个主要版本,它们之间有一些重要的区别。 首先,Helm v2使用的是基于服务器端的Tiller组件来管理应用程序的部署。Tiller在v2版本中负责与Kubernetes API进行交互,并跟踪应用程序的状态。然而,Tiller在安全性和性能方面存在一些问题,并且需要额外的配置和权限来正确运行。 为了解决这些问题,Helm v3于2019年发布,并移除了Tiller组件。在v3版本中,Helm完全依赖于Kubernetes API来进行应用程序的部署和管理。这种改变不仅提高了Helm的安全性和性能,还简化了Helm的安装和配置过程。 另一个重要的改变是Helm v3中引入了命名空间的概念。在Helm v2中,所有的应用程序都会部署到同一个默认的命名空间中,这可能导致应用程序之间的冲突。而在Helm v3中,每个应用程序都可以分配到不同的命名空间中,从而更好地隔离和管理应用程序。 此外,Helm v3还改进了依赖管理的方式。在Helm v2中,依赖被视为Helm Chart中的一个子图表,这导致了一些容易出错和难以维护的情况。在Helm v3中,依赖被视为外部的Chart,这使得依赖的安装和更新更加简单和可靠。 综上所述,Helm v3相较于v2来说,在安全性、性能、安装、配置、应用程序隔离和依赖管理等方面都有了一些重大的改进。因此,如果要选择使用Helm进行Kubernetes应用程序管理,推荐使用Helm v3以获得更好的体验和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值