我正在构建一个支持istio的RBAC AKS集群。我有分配给我的集群管理员角色,我能够成功部署最小的istio服务(服务/部署/网关/虚拟服务),没有任何问题。
我需要在我的组织内部给一个团队访问AKS,所以我创建了一个命名空间并在命名空间上为他们分配了管理员角色。 k8s native(kubectl get services --namespace team)的一切都很棒。但是,当他们去部署相同的最小istio服务(服务/部署/网关/虚拟服务)时,他们遇到了类似于以下内容的大量错误:
Error from server (Forbidden): error when retrieving current configuration of:
Resource: "networking.istio.io/v1alpha3, Resource=gateways", GroupVersionKind: "networking.istio.io/v1alpha3, Kind=Gateway"
这是有道理的,因为我没有将该组绑定到任何istio角色。一旦我授予他们群集管理员,它就按预期工作。
问题是,我不知道要添加哪些istio角色。当我在安装istio之后查看集群中存在的角色时,我没有看到任何明显的角色。
我看到的角色:
对于需要在istio部署(命名空间内)上运行的用户,适当的角色是什么?它是角色的组合吗?我需要一个新角色吗?
像这样的角色应该有效:
"apiGroups": [
"istio.io"
],
"resources": [
"*"
],
"verbs": [
"*"
]
如果那不起作用,你需要做这样的事情:
"apiGroups": [
"config.istio.io",
"networking.istio.io",
"rbac.istio.io",
"authentication.istio.io"
],
"resources": [
"*"
],
"verbs": [
"*"
]
您可以为用户创建角色或群集和绑定或角色绑定。