在GCP上使用人工进行开发的技巧和最佳实践

JFrog Artifactory在GCP上

在基于云的服务上托管基础设施正在成为科技行业的一种标准。这并不奇怪,因为提高效率的多方面解决方案是迁移到云的驱动优势。更具体地说,使云解决方案处于优势的一些原因包括灵活性、成本和更容易维护,允许团队分配更多的时间用于应用程序开发。

JFrog Artifactory可以安装在所有主要的云提供商上包括谷歌云平台(GCP)。这篇博文概述了在GCP上进行开发时设置JFrog Artifactory的一些最佳实践,无论是独立的还是在高可用性(HA)配置中。在以后的文章中,我将详细介绍在GCP上使用Artifactory所需的修改,以便为生产系统添加安全性和健壮性层。

体系结构

GCP上的人工体系结构由三个主要组件组成:网络、应用程序和存储。

GCP架构上的人工

网络

推荐的设置包括四个部分:

  • VPC(虚拟私有云)
  • 防火墙规则
  • vm(虚拟机)
  • 一个路由

VPC

VPC是实例的核心容器,需要在一个区域内创建。区域中的子网和vpc组将根据您是作为独立安装运行Artifactory还是作为高可用性多节点集群运行Artifactory而有所不同。

设置 建议
独立的 独立安装需要Artifactory实例的子网。如果您的独立实例托管的工件数量超过500,000个,我们还强烈建议使用没有外部IP地址的外部数据库,在这种情况下,您将需要第二个子网来确保只有应用程序可以访问数据库。
HA安装需要三个或三个以上子网。一个用于数据库,它不应该有任何外部IP地址。第二个子网应该包含主节点,任何其他子网将承载辅助节点。

防火墙规则

防火墙规则是在网络级别创建和应用的,用于管理进出虚拟机的流量。我们建议在以下用例中设置防火墙规则:

设置 建议
外部数据库 如果您在私有子网内使用外部数据库,则应该有一个防火墙规则允许SSH访问该子网。
外部IP /主机名 如果您希望通过外部IP/主机名访问实例,而不是使用“localhost”,则需要另一个防火墙规则。

中介绍了如何创建防火墙规则GCP的文档

虚拟机

虚拟机将用作VPN网关。虚拟机的类型和数量也取决于您的人工设置。

设置 建议
独立,没有外部DB 一个独立的Artifactory实例需要一个VM。
独立使用外部DB 一个独立的Artifactory实例需要一个VM,它还可能包括NAT网关。NAT网关也可能在一个单独的节点上,这将需要另一个VM。在任何一种情况下,网关都必须有一个外部IP。
HA安装需要为每个节点使用单独的虚拟机。主节点1台虚拟机,备节点每增加1个子网,添加1台虚拟机。此外,由于HA需要外部数据库,因此将NAT网关放在单独的节点上将需要额外的VM。

网络路由(年代)

网络路由引导流量通过两个子网,以便Artifactory实例和数据库相互通信。

应用程序

该应用程序由三个部分组成:

  • Artifactory实例
  • 反向代理
  • 谷歌云负载平衡器

Artifactory实例(年代)

根据您正在运行的平台,在GCP上安装Artifactory有多种选择,包括独立安装和HA集群。对于独立安装,请参考安装Artifactory对于HA集群,请参考HA安装和设置在JFrog Artifactory用户指南中。如果你想利用这些特性容器注册平台可以提供自动重启和自动缩放,你可以查看我们的码头工人安装或者我们的舵图安装Kubernetes。有关CPU、内存和磁盘空间使用等详细要求,请参见系统需求在JFrog Artifactory用户指南中。

反向代理

选择使用反向代理可能有不同的原因。您还应该注意,如果使用Artifactory作为服务器,则必须使用反向代理码头工人注册表

谷歌云负载平衡器

负载平衡器有效地将所有进入Artifactory实例的请求分发给这些实例。的谷歌云负载平衡器推荐作为GCP内部实例中最兼容的负载平衡器。最终用户将通过该组件访问Artifactory实例。

存储

Artifactory架构在GCP上的存储组件包括:

  • 云存储
  • 外部数据库

存储由数据(二进制文件)和元数据组成。二进制文件存储在云存储中,而元数据在数据库中管理。

存储管理器 建议
云存储 显然,如果您使用的是GCP,我们建议您使用Google Cloud Storage (GCS)来托管二进制文件。要配置Artifactory使用GCS,请参考谷歌云存储在JFrog Artifactory用户指南中
数据库 Artifactory附带了一个内置的嵌入式Derby数据库,但是您可以将此默认值更改为许多其他流行的数据库(这是HA安装所必需的)。有关如何选择数据库的指导方针以及如何配置Artifactory以使用每个受支持的数据库的详细信息,请参阅配置数据库在JFrog Artifactory用户指南中

最终的清单

实例类型 独立,没有外部DB 独立使用外部DB

网络

VPC 1 1 1
子网 1 2 3+
防火墙规则 1

*如果你想要一个外部IP/主机名

1 +

*一个用于外部数据库,外部IP/主机名(可选)

1 +

*一个用于外部数据库,外部IP/主机名(可选)

虚拟机 1 2+ 3+
路线 - - - - - - 1 1

应用程序

Artifactory实例 1 1 2+
谷歌云负载平衡器 - - - - - - - - - - - - 1

存储

云存储 1 1 1
数据库 - - - - - - 1 1

不想这么麻烦?

如果您不想担心所有这些配置,JFrog Artifactory可以作为云原生托管服务在GCP(和其他主要云提供商)上使用。可以选择在多租户配置或完全专用服务器上进行订阅。你可以找到网站详情,甚至可以弄湿你的脚免费试用

开始在GCP上免费试用JFrog人工云