azure 获取错误:在检查舵的版本时找不到舵柄

1u4esq0p  于 2022-12-19  发布在  其他
关注(0)|答案(2)|浏览(84)

我正在尝试在kubernetes中安装舵,我已经成功安装了舵。当我检查舵版本时,它显示以下错误

`helm version
Client: $version .version{SemVer:V2XXX",Git commit:"XXXXXXXXXXXXXXXXX",GitTreeState:  "clean"}
Error:could not find the tiller`

当我执行Init命令时,显示Tiller已安装在群集中
第一个月

$HELM_HOME has been configured at home/user/.helm
warning: Tiller is already installed in the cluster

当我检查pod的日志时,我可以看到以下错误
'键入消息中的原因年龄
警告:失败创建11 m(x25超过132 m)副本集控制器错误创建:pod“tiller-deploy-xxxxx”被禁止:查找服务帐户时出错:未找到管理程序”'
如何解决这个问题有什么想法吗?

2wnc66cl

2wnc66cl1#

是否确实已创建Tiller服务帐户?
尝试创建服务帐户并为其授予所需权限

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

之后,再次初始化Helm,看看错误是否消失

helm init --history-max 200 --service-account tiller
yyyllmsg

yyyllmsg2#

我尝试在我的环境中重现同一问题,结果如下

当我检查舵的版本时,我得到了相同的错误

当我执行init命令时,显示的错误与已存在的错误相同

helm init --history-max 200 --service-account tiller

我得到这个错误,因为我没有服务帐户要解决这个问题,我已经创建了服务帐户的yaml文件,如图所示
我已使用以下脚本创建了服务帐户,此脚本取自SO link,并根据要求进行了更改

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"name":"tiller"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"cluster-admin"},"subjects":[{"kind":"ServiceAccount","name":"tiller","namespace":"kube-system"}]}
  creationTimestamp: "XXXXXXX"
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: tiller
  namespace: kube-system

我已使用以下命令部署此服务帐户

kubectl apply -f filename.yaml

删除了副本集并重新创建了新的副本集

kubectl  -n kube-system delete replicaset replica-name

删除副本集后,它会自动重新创建新副本集

kubectl -n kube-system get replicaset

当我检查舵的版本,我能够看到如下所示

相关问题