如何升级Helm和Tiller

2018-09-04 阅读: Kubernetes Helm

helm作为Kubernetes的包管理器,典型的C/S架构:

  • helm:命令行工具,一般安装在CI/CD Server上使用
  • tiller: 是helm的服务端,部署在Kubernetes上,管理Release

这里记录一下测试环境Kubernetes集群的helm从v2.10.0-rc.3升级到v2.10.0的过程。 之前提前使用v2.10.0-rc.3的原因,是因为helm 2.10开始支持--kubeconfig,这样我们就很容易在CI/CD Server上同时使用helm访问多个Kubernetes集群。

首先需要准备tiller的镜像gcr.io/kubernetes-helm/tiller:v2.10.0,并将其推送到私有仓库中。

下载helm的客户端https://storage.googleapis.com/kubernetes-helm/helm-v2.10.0-linux-amd64.tar.gz,并在CI/CD Server上 替换helm二进制文件。

升级服务端tiller:

helm init --upgrade --service-account tiller --tiller-image <your-docker-registry>/tiller:v2.10.0 --skip-refresh --history-max 255

kubectl get pod -n kube-system | grep tiller
tiller-deploy-749d75f4f8-g98fw          1/1       Running     0          37s
tiller-deploy-749d75f4f8-xhr6m          1/1       Running     0          37s

helm version
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
  • 这里要求helm客户端所在服务器上kubectl可以正常管理Kubernetes集群
    • 如果私有镜像仓库需要认证才可以pull tiller镜像的话,目前没有找到helm init关于设置imagePullSecrets的参数,因此如果执行完上面的升级命令后需要手动修改一下tiller-deploy这个Deployment,并在其中加入imagePullSecrets
标题:如何升级Helm和Tiller
本文链接:https://blog.frognew.com/2018/09/how-to-upgrade-helm.html
转载请注明出处。

目录