在Kubernetes上安装JFrog平台不到20分钟

我们明白了,安装Artifactory和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.crt而且tls.key)到安装程序。

Kubernetes集群 您的Kuberenetes集群可以位于数据中心的on-prem系统中,也可以位于任何公共云服务中,如AWS EKS、谷歌cloud GKE或Azure上的AKS。

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

还需要克隆包含所有JFrog快速安装脚本

安装Artifactory

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

步骤1:生成连接键

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

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

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

#创建新的连接密钥导出MASTER_KEY=$(openssl rand -hex 32) echo ${MASTER_KEY} #创建新的连接密钥导出JOIN_KEY=$(openssl rand -hex 32) echo ${JOIN_KEY}

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

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

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

#设置JFROG的license文件export ARTIFACTORY_LICENSE_FILE=${HOME}/artifactory.cluster。设置TLS认证导出的license # 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_NAMESPACE值必须用于JFrog平台的所有组件。

步骤3:运行安装脚本

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

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

。/ artifactoryhelminstall.sh

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

./artifactoryhelminstall.sh -m $MASTER_KEY -j $JOIN_KEY -c $HOME/tls. shcrt -k $HOME/tls。key -l $HOME/artifact .cluster.license

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

步骤4:连接域名

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

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

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

步骤5:启动Artifactory

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

安装其余部分

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

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

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

。/ xrayhelminstall.sh

任务控制提供您的JFrog平台产品和拓扑结构hth华体会最新官方网站.为了将试用版升级为完整的许可证,还必须安装已签名的许可证桶。要安装任务控制,请调用其安装脚本:

。/ missioncontrolhelminstall.sh

JFrog分布使您能够将构建打包到安全的发布包然后快速分布到边缘节点上。要安装分发版,请调用其安装脚本:

。/ distributionhelminstall.sh

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

./pipelineshelminstall.sh -a https://jfrog.mycompany.com -p http://pipelines-api.mycompany.com -r amqp://pipelines-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记录中,以映射到它们的域名,以允许管道构建平面与您的管道实例通信。

巡游到DevOps

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

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

对于更多的细节控制,你可以使用官方的JFrog Helm图表来更新,或执行一个新的安装到Kuberenetes。所有这些都可以在JFrog ChartCenter,你可以用它作为你的所有开源Helm图表的中央存储库

JFrog平台掌舵图表在ChartCenter

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