在Kubernetes上安装JFrog平台在20分钟内

我们知道了,安装人工工厂和JFrog DevOps平台在Kubernetes上是令人生畏的。就像我们试图用我们的官方JFrog安装掌舵图,有很多决定要做。这意味着为您提供了尽可能广泛的选择,以使JFrog安装最适合您的基础设施。但选择也可能是压倒性的。

当您想要的只是快速建立一个自托管的JFrog安装以进行测试或评估时(如使用免费试用-你怎么知道哪些选项是重要的?你需要考虑的最低限度是什么?解析所有的选择可能会花费很多时间,这是您不希望花费的。

为了提供帮助,我们提供了一些快速Bash脚本来安装JFrog平台。我们已经缩小了必要设置的数量,并自动将脚本默认为安全值。这些脚本将运行Helm客户机和图表,以便您在k8上轻松地执行最小的基本安装。

您可以安装整个高可用性JFrog平台,设置工件存储库,并在不到20分钟内开始工作。听起来甜蜜得令人难以置信?观看我们的网络研讨会看看是怎么做的。

同时,让我们来看看快速安装的步骤。

开始之前

在开始安装之前,你需要准备一些东西:

你需要什么 描述
JFrog平台许可 对于打算安装的每个HA节点,您都需要一个许可证。试用许可证将在激活后的有限时间内有效,但可以升级为永久许可证。

您的许可集将由JFrog作为文件提供,例如artifactory.cluster.license

完全限定域名

(FQDN)

指定主机的完整域名。例如:jfrog.mycompany.com

这是Docker通过SSL使用安全注册表所必需的。否则,您可能会将IP地址作为不安全的注册表添加到您的Docker客户端设置中。

SSL的TLS证书和密钥 安全Docker注册表所必需的。

您可以通过供应商购买TLS认证,使用公共CA,例如让我们加密,或SSL卸载服务,例如Cloudflare

您需要提供证书和密钥文件(例如。tls.crttls.key)到安装程序。

Kubernetes集群 Kuberenetes集群可以位于数据中心的本地系统中,也可以位于任何公共云服务(如AWS EKS、Google cloud GKE或Azure上的AKS)中。

在创建新集群时,如果计划安装和使用JFrog Pipelines,请确保K8s代理节点的大小至少为4vcpu。

您还需要克隆包含所有文件的Git存储库JFrog快速安装脚本

安装Artifactory

JFrog Artifactory通用工件存储库管理器,是支撑JFrog DevOps平台的核心组件。您必须首先安装Artifactory,它还将建立您的基本URL、JFrog许可证和SSL认证。

步骤1:生成连接键

集群连接密钥保护您的人工HA集群。所有想要加入集群的服务必须使用相同的连接键。

如果不提供主键或连接键,脚本将使用不安全的默认值。

为了确保安装的主键和连接键的安全,请生成您自己的唯一键并将它们导出到MASTER_KEY和JOIN_KEY环境变量中:

#创建一个新的主密钥export MASTER_KEY=$(openssl rand -hex 32) echo ${MASTER_KEY} #创建一个新的连接密钥export JOIN_KEY=$(openssl rand -hex 32) echo ${JOIN_KEY}

步骤2:设置剩余的安装选项

您还可以将其余的设置导出到安装程序脚本将使用的环境变量。

例如,对于您的许可证和认证文件:

#设置JFROG license文件export ARTIFACTORY_LICENSE_FILE=${HOME}/artifactory.cluster。设置TLS证书导出ARTIFACTORY_TLS_CERT=${HOME}/ TLS。. crt export ARTIFACTORY_TLS_KEY=${HOME}/tls.key

如果愿意,可以通过命令行选项为安装程序脚本提供值,而不是导出到环境变量。还可以通过命令行选项覆盖任何环境变量设置。

可能的环境变量及其对应的命令行选项的完整列表如下:

环境变量 命令行选项 默认值
MASTER_KEY - m <字符串> 不安全的值
JOIN_KEY - j <字符串> 不安全的值
ARTIFACTORY_LICENSE_FILE - l <文件名> 没有- - - - - -这是必需的
ARTIFACTORY_TLS_CERT - c <文件名> 没有TLS认证
ARTIFACTORY_TLS_KEY - k <文件名> 没有TLS认证
SSL_OFFLOAD - s <真/假>
JFROG_NAMESPACE - n <名称> 集群的默认名称空间

如果使用SSL卸载服务,应该将SSL_OFFLOAD设置为true。

我们建议您指定一个Kubernetes名称空间对于集群—例如,“jfrog”。JFrog平台的所有组件都必须使用相同的JFROG_NAMESPACE值。

步骤3:运行安装脚本

一旦导出了安装程序的所有设置,就可以运行脚本,通过Helm图表将Artifactory安装到Kubernetes。

如果将所有需要的设置导出到环境变量,则可以在没有任何命令行选项的情况下运行该脚本。例如,要只使用前面步骤中设置的设置运行:

。/ artifactoryhelminstall.sh

或者,您可以对部分或全部设置使用命令行选项。例如,要使用命令行选项执行相同的Artifactory安装:

./ artifactoryhelmininstall .sh -m $MASTER_KEY -j $JOIN_KEY -c $HOME/tls. shcrt -k $HOME/tls. crtkey -l $HOME/artifactory.cluster.license . conf

脚本将把设置回显到控制台进行确认,然后调用Helm图表,将具有nginx负载平衡的Artifactory的高可用性配置安装到Kubernetes集群。

步骤4:连接域名

安装完成后,脚本将向控制台输出以下信息:

**************************************************************************** 成功部署JFrog Artifactory http://35.236.108.6默认用户:管理员默认传递:密码  ****************************************************************************

显示的IP地址是通过网络负载均衡器公开的新的外部IP地址。您需要将FQDN的DNS中的新a记录映射到您的TLS证书指定的域的此IP地址。我们建议您使用通配符证书,以便您可以使用域名下的任何子域名。

步骤5:启动Artifactory

一旦配置了DNS,您就可以通过web浏览器安全地打开JFrog平台登录页面(例如:https://jfrog.mycompany.com)。您可以使用默认的用户名和密码登录。登录后,您应该更改默认的管理员密码JFrog平台用户配置文件去更安全的地方。JFrog平台

安装Rest组件

安装并运行Artifactory之后,就可以安装JFrog平台的其他组件了。

其余JFrog平台组件的所有安装脚本将使用与Artifactory安装脚本相同的MASTER_KEY、JOIN_KEY和JFROG_NAMESPACE设置。因此,您应该确保这些环境变量仍然可用(或者您可以在命令行选项中指定它们)。

JFrog x光软件组件分析工具它可以提醒您注意并阻止构建中的易受攻击和不兼容的开源依赖项。要安装Xray,调用它的安装脚本:

。/ xrayhelminstall.sh

任务控制的高级概述JFrog平台产品和拓扑hth华体会最新官方网站。为了将试用版升级到完整的许可证,还需要安装已签名的许可证桶。要安装Mission Control,调用它的安装脚本:

。/ missioncontrolhelminstall.sh

JFrog分布使您能够将构建打包为安全发布包并将它们快速分发到边缘节点。要安装Distribution,调用它的安装脚本:

。/ distributionhelminstall.sh

JFrog管道是新一代用于DevOps的CI/CD。要安装管道,调用它的安装脚本:

./pipelineshelminstall.sh -a https://jfrog.mycompany.com -p http://pipelines-api.mycompany.com -r amqp:// pipelins-rabbitmq.mycompany.com -w http://pipelines-www.mycompany.com

这些附加值管道外部连接必须作为环境变量或在命令行中设置:

环境变量 命令行选项 默认值
ARTIFACTORY_URL ——< fqdn > 无-这是必需的
PIPELINE_API_URL - p < fqdn > 无-这是必需的
PIPELINE_RABBITMQ_URL - r < fqdn > 无-这是必需的
PIPELINE_WWW_URL - w < fqdn > 无-这是必需的

当管道安装完成后,脚本将向控制台输出以下信息:

****************************************** pipelines-api.mycompany.com 128.12.16.0地图pipelines-www.mycompany.com映射到pipelines-rabbitmq.mycompany.com 128.12.36.0 128.12.25.0地图  ****************************************** 成功安装JFrog管道!

您必须将此输出的外部IP地址添加到相关的DNS A记录中,以映射到它们的域名,以允许Pipeline构建平面与您的Pipeline实例进行通信。

巡游DevOps

现在您已经完全安装了JFrog平台,您可以开始探索这个端到端解决方案如何帮助您实现DevOps的成功。

虽然速度很快,但这个简单的默认配置安装可能无法提供组织广泛使用所需的所有内容。例如,您可能需要比最小节点数更多的节点来实现高可用性,或者希望使用特定的云服务来存储文件。

为了更好地控制细节,您可以使用官方的JFrog Helm图表进行更新,或者在Kuberenetes中执行新的安装。所有这些都可以在JFrog ChartCenter,你可以用它作为你的所有开源Helm图表的中央存储库

JFrog平台掌舵图在图表中心

同时,请花几分钟时间尝试一下这些安装脚本!你会有足够的时间马上开始工作。