k8s helm安装Tiller出错解决

安装Helm

安装Helm通常使用一下命令:

bash 复制代码
[root@k8s-master ~]# curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6875  100  6875    0     0   1232      0  0:00:05  0:00:05 --:--:--  1807
Downloading https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz
Preparing to install helm and tiller into /usr/local/bin
helm installed into /usr/local/bin/helm
tiller installed into /usr/local/bin/tiller
Run 'helm init' to configure helm.

安装完成会提示执行helm init安装tiller ,但是有时间镜像会很慢,所以选择手动安装tiller 。

bash 复制代码
root@k8s-master helm]# helm init --upgrade --tiller-image registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.16.9

此时执行helm list坑出现了,版本不匹配。

bash 复制代码
[root@k8s-master ~]# helm list
Error: incompatible versions client[v2.17.0] server[v2.16.9]

处理

我选择了升级版本

bash 复制代码
[root@k8s-master ~]# helm init --upgrade --tiller-image registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.17.0
$HELM_HOME has been configured at /root/.helm.

Tiller (the Helm server-side component) has been updated to registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.17.0 .

到那时查看pod是会发现ErrImagePull,ImagePullBackOff,查看一下pod。

bash 复制代码
[root@k8s-master ~]# kubectl get pods -n kube-system
NAME                                 READY   STATUS         RESTARTS   AGE
tiller-deploy-54cb5b4ff9-tgz8c       0/1     ErrImagePull   0          50s

查看tiller-deploy-54cb5b4ff9-tgz8c pod日志信息

bash 复制代码
[root@k8s-master ~]# kubectl describe pod tiller-deploy-54cb5b4ff9-tgz8c  -n kube-system

Events:
  Type     Reason     Age                From                Message
  ----     ------     ----               ----                -------
  Normal   Scheduled  <unknown>          default-scheduler   Successfully assigned kube-system/tiller-deploy-54cb5b4ff9-tgz8c to k8s-node1
  Normal   Pulling    15s (x3 over 72s)  kubelet, k8s-node1  Pulling image "registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.17.0"
  Warning  Failed     13s (x3 over 57s)  kubelet, k8s-node1  Failed to pull image "registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.17.0": rpc error: code = Unknown desc = Error response from daemon: manifest for registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.17.0 not found: manifest unknown: manifest unknown
  Warning  Failed     13s (x3 over 57s)  kubelet, k8s-node1  Error: ErrImagePull
  Normal   BackOff    2s (x3 over 57s)   kubelet, k8s-node1  Back-off pulling image "registry.cn-beijing.aliyuncs.com/google_registry/tiller:v2.17.0"
  Warning  Failed     2s (x3 over 57s)   kubelet, k8s-node1  Error: ImagePullBackOff

解决

1.删除tiller deployment,顺带会一起删除tiller pod

bash 复制代码
kubectl delete -n kube-system deployment tiller-deploy

2.删除完再执行helm init,发现提示已安装

bash 复制代码
[root@k8s-master ~]# helm init --service-account=tiller --tiller-image=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.17.0   --history-max 300
$HELM_HOME has been configured at /root/.helm.
Warning: Tiller is already installed in the cluster.
(Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)

3.再次执行helm reset --force卸载tiller

bash 复制代码
[root@k8s-master ~]# helm reset --force
Tiller (the Helm server-side component) has been uninstalled from your Kubernetes Cluster.
[root@k8s-master ~]# helm init --service-account=tiller --tiller-image=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.17.0   --history-max 300
$HELM_HOME has been configured at /root/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://v2.helm.sh/docs/securing_installation/

4.再次查询版本信息,发现已经不报错了。

bash 复制代码
[root@k8s-master ~]# helm version
Client: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}

5.安装mysql报错

bash 复制代码
[root@k8s-master ~]# helm install stable/mysql
Error: validation failed: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"

解决方案更换镜像源 helm repo add stable http://mirror.azure.cn/kubernetes/charts/

相关推荐
开发者联盟league7 小时前
使用k8s安装Sonarqube
云原生·容器·kubernetes
m0_7381207210 小时前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
小义_11 小时前
【Ansible】(三)基础配置与连接设置
云原生·ansible
松岩11 小时前
网络问题导致 Pod Pending
kubernetes·aiops
极客先躯15 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme15 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
运维老郭15 小时前
Kubernetes 二进制部署完全指南:从零搭建生产级HA集群
运维·云原生·kubernetes
成为你的宁宁16 小时前
【K8S黑盒监控实践:Probe配置、Prometheus验证与Grafana可视化】
kubernetes·grafana·prometheus
成为你的宁宁16 小时前
【Prometheus Operator监控K8S Nginx】
nginx·kubernetes·prometheus
宇明一不急16 小时前
k8s headless svc
云原生·容器·kubernetes