在GCP上使用Artifactory开发的技巧和最佳实践

GCP上的JFrog Artifactory

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

JFrog Artifactory可以安装在所有主要的云提供商上包括谷歌云平台(GCP)。本文概述了在GCP上建立JFrog Artifactory的一些最佳实践,可以是独立的,也可以是高可用性(HA)配置。请继续关注未来的文章,我将详细介绍在GCP上与Artifactory合作以为生产系统添加安全性和健壮性层所需的修改。

体系结构

GCP上的Artifactory架构由三个主要组件组成:网络、应用程序和存储。

关于GCP架构的Artifactory

网络

推荐的设置包括四部分:

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

VPC

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

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

防火墙规则

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

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

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

虚拟机

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

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

网络路由(年代)

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

应用程序

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

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

Artifactory实例(年代)

根据您正在运行的平台,在GCP上安装Artifactory有多种选项,包括独立安装和HA集群。如需独立安装,请参阅安装ArtifactoryHA集群,请参见HA安装和设置在JFrog Artifactory用户指南。如果你想利用这些特性集装箱注册平台可以提供像自动重启和自动伸缩之类的功能,你可以看看我们的吗码头工人安装或者我们的舵图安装Kubernetes。CPU要求、内存要求、磁盘空间占用率等详细信息请参见系统需求在JFrog Artifactory用户指南。

反向代理

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

谷歌云负载均衡器

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

存储

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

  • 云存储
  • 外部数据库

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

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

最终的清单

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

网络

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

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

1 +

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

1 +

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

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

应用程序

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

存储

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

不想要所有的麻烦?

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

在GCP上开始免费试用JFrog Artifactory Cloud