首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拥有多个GCP项目的Argo

拥有多个GCP项目的Argo
EN

Stack Overflow用户
提问于 2020-08-14 23:41:17
回答 1查看 180关注 0票数 0

我一直在寻找作为Gitops风格的CD系统的Argo。看起来真的很整齐。尽管如此,我并不理解如何在多个GCP项目中使用Argo。具体来说,该计划是有环境依赖的项目(即prod,stage )。看起来Argo并不是为了协调跨环境依赖的集群的部署而设计的,是吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-16 19:16:16

你的问题主要是关于安全管理的。您有几种可能性和几种观点/安全级别。

1.项目隔离

最简单和最安全的方法是让Argo在每个项目中运行,而不需要在每个环境之间建立联系/桥梁。没有安全风险或部署在错误的项目上。默认的项目隔离(VPC和IAM角色)就足够了。

但这意味着在多个集群上部署和维护相同的应用程序,并支付多个集群的费用(开发、分期和prod CD不以相同的频率使用)。

在安全性方面,可以使用Compute默认服务帐户进行授权,也可以依赖工作负载标识 (首选方式)

2.命名空间隔离

另一种方法是在每个交付项目上只部署一个具有集群和kubernetes命名空间的项目。顺便说一句,您可以在公司的所有项目中重用相同的集群。

您仍然需要更新和维护每个名称空间中的Argo,但是集群管理更容易一些,因为节点是相同的。

在安全性方面,您可以使用每个名称空间的工作负载标识 (因此在交付项目中每个名称空间有一个服务帐户),并保持权限隔离。

在这里,交换的是私有IP访问。如果您的部署需要访问交付项目中的私有IP (用于测试目的或访问私有K8S主服务器),则必须设置一个VPC对等(每个项目仅限于25个窥视)或设置一个共享VPC。

3.服务帐户隔离

不推荐最新的解决方案,但它是最容易维护的。对于所有环境,您只有一个GKE集群,并且只部署了一个带有Argo的命名空间。通过配置,您可以告诉Argo使用特定的服务帐户访问交付项目(使用存储在GKE机密或秘密管理器中的服务帐户密钥文件(不推荐解决方案),或者(更好)使用服务帐户模拟)。

在这里,您也有一个服务帐户授权的每个交付项目。在交付项目中需要私有IP访问的情况下,对等问题也是一样的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63421235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档