建立kubernetes和x2B的释放管道;istio与terraform+;舵手给出禁止的错误

建立kubernetes和x2B的释放管道;istio与terraform+;舵手给出禁止的错误,kubernetes,kubernetes-helm,istio,azure-aks,Kubernetes,Kubernetes Helm,Istio,Azure Aks,我已经尝试过很多次在Azure devops中设置这个管道,我想在这里部署一个AKS集群并将istio放在顶部 使用Terraform部署AKS非常有效 在此之后,我尝试使用helm安装istio,但我使用的命令给出了禁止的错误 helm.exe install --namespace istio-system --name istio-init --wait C:\Istio\install\kubernetes\helm\istio 我使用了本地路径,因为这是helm找到构建代理上的ist

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

使用Terraform部署AKS非常有效

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

helm.exe install --namespace istio-system --name istio-init --wait C:\Istio\install\kubernetes\helm\istio
我使用了本地路径,因为这是helm找到构建代理上的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(system: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中的错误消息仍然表示它查找群集管理,但未找到

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

kubectl create clusterrolebinding serviceaccounts-admins --clusterrole=cluster-admin --group=system:serviceaccounts
但即使在那之后,我也会在同样的规则解决者身上犯同样的错误


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

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

---
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造成的。

非常确定您需要先运行istio init,而不仅仅是运行istio并将其命名为istio init。我对此非常陌生。。当我下载istio的安装包时,我得到了istio图表和istio远程图表。没有初始化。或者你是指任何其他类型的初始化。我像helm init一样运行以设置服务帐户等。在github dokumentation上阅读istio图表时说:“在安装istio图表之前,必须先运行istio init图表。”因此,我将从那里下载init图表并首先运行它。是的,它与istio位于同一文件夹中,但是名为istio init:
C:\istio\install\kubernetes\helm\istio init
-应该在这里。您现在应该使用1.1+尝试了istio init,但仍然出现了禁止者错误。“clusterroles.rbac.authorization.k8s.io”istio init istio system“是禁止的…”如果需要,我可以用完整的错误更新问题。但正如我在问题中所做的那样,我只有相同的名称我的绑定tillerbinding和我的服务帐户号的另一个名称?(我也尝试过使用该APIGOUP…但我想那是在init运行之前。我也尝试过将APIGOUP设置为您的示例..所有htem都不起作用..好的,我想您的集群没有启用rbac。显示您用于创建aksI的TF配置我非常确定..但是…嗯..如果我没有感到som尴尬…我会仔细检查..哇。…在这段时间之后,我没有仔细检查它是否已启用…它不是..砰的一声..再加上你的回答,我应该仔细检查我是否已启用rbac,我接受它。