使用terraform + helm设置kubernetes + istio的释放管道会给出禁止的错误

问题描述 投票:0回答:1

我现在已经尝试了很多次在Azure devops中设置这个管道,我想部署一个AKS集群并将istio置于顶部。

使用Terraform部署AKS非常有用。

在此之后我尝试使用helm安装istio,但我使用的命令给出了禁止的错误。

helm.exe install --namespace istio-system --name istio-init --wait C:\Istio\install\kubernetes\helm\istio

我使用了本地路径,因为这是我找到掌机的唯一好方法,可以找到我在构建代理上的istio图表。

错误消息

Error: release istio-init failed: clusterroles.rbac.authorization.k8s.io "istio-galley-istio-system" is forbidden: attempt to grant extra privileges: [{[*] [admissionregistration.k8s.io] [validatingwebhookconfigurations] [] []} {[get] [config.istio.io] [*] [] []} {[list] [config.istio.io] [*] [] []} {[watch] [config.istio.io] [*] [] []} {[get] [*] [deployments] [istio-galley] []} {[get] [*] [endpoints] [istio-galley] []}] user=&{system:serviceaccount:kube-system:tillerserviceaccount 56632fa4-55e7-11e9-a4a1-9af49f3bf03a [system:serviceaccounts system:serviceaccounts:kube-system system:authenticated] map[]} ownerrules=[] ruleResolutionErrors=[[clusterroles.rbac.authorization.k8s.io "cluster-admin" not found, clusterroles.rbac.authorization.k8s.io "system:discovery" not found, clusterroles.rbac.authorization.k8s.io "cluster-admin" not found, clusterroles.rbac.authorization.k8s.io "system:discovery" not found, clusterroles.rbac.authorization.k8s.io "system:discovery" not found, clusterroles.rbac.authorization.k8s.io "cluster-admin" not found]]

我使用的serviceaccount(系统:serviceaccount:kube-system:tillerserviceaccount,您可以在错误消息中看到)使用此rbac配置进行配置:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tillerserviceaccount
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tillerbinding
roleRef:
  apiGroup: ""
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tillerserviceaccount
    namespace: kube-system

仍然在ruleResolutionErrors中显示的错误消息是它查找cluster-admin但找不到它。

我甚至尝试了极端并将所有服务帐户设置为集群管理员来测试:

kubectl create clusterrolebinding serviceaccounts-admins --clusterrole=cluster-admin --group=system:serviceaccounts

但即使在那之后,我也会使用相同的ruleResolutionErrors获得相同的错误。

我被困住了,并感谢任何帮助,我可以做不同的事情。

kubernetes kubernetes-helm rbac istio azure-aks
1个回答
1
投票

这是我们在开发群集中使用的角色绑定:

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tillerbinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tillerserviceaccount
    namespace: kube-system

编辑:在这种情况下,错误是由于没有RBAC创建的AKS。

© www.soinside.com 2019 - 2024. All rights reserved.