0

我们希望允许我们的开发人员通过将他们的代码和 k8s 资源合并到一个由 ArgoCD 监视的 git repo 中来自动将他们的更改部署到 kubernetes 集群。发布管理团队将负责管理 ArgoCD 配置和设置新应用程序,以及在集群上创建命名空间、角色和角色绑定,而开发人员应该能够通过 GitOps 部署他们的应用程序,而无需与直接集群。出于调试目的,开发人员可能对集群具有读取权限。现在的问题是:理论上,开发人员可能会创建一个新的 yaml 并指定一个角色绑定资源,它将他/她的帐户绑定到集群管理员角色。由于 ArgoCD 具有集群管理员权限,这将是提升开发人员权限的一种方式。

编辑:根据文档,每个项目都可以使用clusterResourceWhitelist. 是否有可能在全球范围内做到这一点?

4

1 回答 1

0

您对 Argo CD 项目的看法是正确的。clusterResourceWhitelist项目 CRD 支持使用,clusterResourceBlacklist等字段允许/拒绝 K8S 资源。Argo CD文档中也提供了示例项目定义。

为了全局限制托管资源列表,可以在ConfigMap中指定resource.exclusions/resource.inclusions字段。argocd-cm该示例可在此处获得。

于 2020-10-13T04:54:37.840 回答