云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

节点池提供一种方便的方式对构建节点进行逻辑分组在JFrog pipeline环境中。这使您能够在不同节点上同时运行步骤。


管理员可以创建任意数量的节点池。对于SaaS部署,节点池名为default-dynamic-nodepool默认可用。对于内部部署,至少存在一个节点池添加并指定为默认节点池,并指定至少一个构建节点,以便在所选项目中执行管道。

必须指定节点池以包含以下类型之一的构建节点:

  • 动态节点-构建节点,由云或管道按需上下旋转Kubernetes服务。这可以帮助扩展操作,并通过不产生运行空闲节点的云服务费用来帮助管理成本。
  • 静态节点—构建通过固定IP地址持久可用的节点(虚拟机)。
    有关可以分配给JFrog Pipelines的静态节点的最低要求以及如何添加静态节点的信息,请参见管理管道静态节点
页面内容




管理动态节点池

动态节点池从云或Kubernetes服务中按需旋转构建节点。要创建动态节点池,必须配置并提供动态节点池管理集成用于以下云或Kubernetes服务之一:

动态节点是在触发步骤时预置,如果在此间隔内没有触发新步骤,则在预设的空闲时间后缓存或销毁。在云服务上使用时它可以通过不产生运行空闲节点的费用来帮助管理成本。

以下操作只能由管理员用户配置pipeline动态节点池进行操作。

添加动态节点池

要为按需构建节点创建新的动态节点池,请转到管理|管道|节点池,点击添加节点池,然后选择动态

选择用户定义的集成后,SaaS用户可以创建自定义动态节点并自定义所有相关设置。用户可以选择任何云提供商,没有设置限制,比如机器类型、区域和其他。


不需要的字段可以留空。例如,您可能不希望将字段设置为限制节点计数、磁盘使用或超时。完成后,单击保存节点池

一般设置
名字

节点池的字母数字友好型名称。

添加节点池时项目默认情况下,名称以项目密钥为前缀。保存节点池后,不能编辑节点池名称。

设置为“默认节点池”
选中后,将节点池设置为所选项目中所有管道的默认节点池。所有没有显式定义要使用哪个节点池的步骤都将在默认节点池的节点上运行。
选择集成/选择构建映像
集成
创建或从可用的选项中选择管理集成为下列其中一项云或Kubernetes服务
构建图像

建立平面图像亮点:

  • 从可用的构建映像中进行选择。例如,AWS上的Amazon Machine Image (AMI)。
  • 点击添加构建映像添加自定义虚拟机镜像。有关更多信息,请参见创建自定义虚拟机镜像
附加的设置
机器类型
从可用的机器(实例)类型中选择服务。例如:c4。在AWS上很大。
获取机器类型

单击以从云提供商处获取所选区域/区域的所有支持的机器类型(除了机器类型的静态列表)。只有在选择了用户定义的集成和有效区域(在某些情况下)时,该按钮才可用。

节点的限制
该节点池可按需创建的最大节点数。
磁盘大小

可选的。配置动态节点磁盘大小。

最低限度为:

  • AWS (Windows): 120gb
  • Azure (Windows): 128 GB
  • 其他:60gb

  • 此选项仅适用于管道内部部署版本。
  • 如果没有指定磁盘大小,节点将默认使用映像的磁盘大小。

超时

连接超时的秒数。默认值为3600秒。

有关更多信息,请参见设置步骤超时时间

节点空闲时间间隔
节点在被销毁前空闲的分钟数。
Docker注册表不安全
一个逗号分隔的允许的列表不安全的docker注册表
Kubernetes设置(见在Kubernetes上创建动态节点为配置程序)
存储类

存储类可从服务中使用。

运行Kubectl获取存储类列出集群中的storageclass。

CPU

CPU限制资源环境下每个豆荚。

标签

可选标签节点选择器

内存

内存限制资源环境下每个豆荚。

名称空间

名称空间为节点。

AWS的设置(见AWS密钥集成对于配置要求)
SSH密钥对

云服务的SSH加密访问密钥。名称SSH在AWS上创建的密钥对

安全组ID
所有已创建节点的可选安全组ID。
子网Id
可选VPC子网ID
GCP的设置(见谷歌云集成对于配置要求)

在托管GCP区域内

网络标签

可选网络标签(文本属性)

子网的名字
可选子网名称
分配公网IP
选中后,将创建带有公共IP地址的节点
Azure的设置(见Azure密钥集成对于配置要求)
订阅ID
唯一标识您的GUID订阅使用Azure服务
子网的名字
Vnet子网名称
联接的名字
Azure虚拟网络名称(例如:myVirtualNetwork
资源组名称
资源组的名称(例如:myResourceGroup
安全组名称
可选网卡网络安全组
SSH公钥
Linux虚拟机的SSH密钥
管理员用户名
RDP的用户名(仅限Windows节点,可选)
管理员密码
RDP的密码(仅限Windows节点,可选)
启用使用非root用户运行的节点

选中时,非根用户名为pipelinesRootless自动创建,节点池中的所有节点都将使用该非root用户。

限制

以非root用户运行节点有一定的限制。有关更多信息,请参见使用非root用户初始化节点

缓存设置

启用缓存
选中后,启用节点缓存
重置缓存

选择要重置缓存的间隔类型:星期几按天数计算

仅在启用节点缓存时可用。

将管道分配给该节点池
任何管道源

选中后,从任何管道源加载的管道都可以使用此节点池。

取消选择此选项以将节点池的使用限制为一组管道源

节点持续时间

当触发一个步骤时,将启动一个动态节点来执行该步骤。步骤完成后,节点可用于执行后续步骤,直到终止为止。

当节点缓存未启用时,管道将在节点首次启动后的每个节点空闲间隔检查节点。如果节点处于空闲状态,则管道终止该节点。这确保了您的构建基础结构以一种有效的方式进行管理,从而帮助您控制计算成本。

动态节点缓存

启用后,节点缓存可以避免重复耗时的过程,例如安装或加载大量依赖项数据,从而帮助加快构建的执行速度。该特性仅支持动态节点池。

当为动态节点池启用节点缓存时,Pipelines会在执行步骤后暂停节点,而不是在指定的空闲时间后终止节点。当执行下一步时,暂停的节点被重新启动,保留作为上一步的一部分安装的任何Docker映像或依赖项。这大大加快了将Docker镜像作为其工作流程一部分的构建速度。

此外,节点可以更快地执行作业,因为从暂停状态重新启动节点要比配置新节点快得多。因此,如果构建只需要几分钟的时间来执行,则可以节省每个构建的节点配置时间,这些时间很快就会累积起来。


管理静态节点池

静态节点池是持久可用的构建节点(虚拟机)的集合。静态节点使您能够在自己的基础结构上执行管道步骤。有关更多信息,请参见管理管道静态节点

以下操作只能由管理员用户配置Pipelines静态节点池。

有关故障排除节点初始化问题的信息,请参见故障处理—节点初始化


添加静态节点池

要创建静态构建节点的新节点池,请转到管理|管道|节点池,点击添加节点池,然后选择静态

不需要的字段可以留空。例如,您可能不希望将字段设置为限制节点计数、磁盘使用或超时。完成后,单击保存节点池

一般设置
名字
节点池的字母数字友好型名称。
设置为“默认节点池”
选中后,将节点池设置为所有管道的默认节点池。所有没有显式定义要使用哪个节点池的步骤都将在默认节点池的节点上运行。
附加的设置
体系结构

目前仅限于x86_64

操作系统

从所选体系结构支持的操作系统列表中进行选择。有关支持的操作系统和体系结构组合的列表,请参见运行时的图片

运行时版本

将用于运行管道步骤的默认运行时映像。选择一个特定的运行时,以确保构建节点具有语言/服务/ cli等所需的版本。要了解更多信息,请参见管理运行时

节点的限制
限制节点池中可添加的最大节点数。
最大磁盘使用率%
限制最大磁盘使用率。超过此最大值的构建节点将被标记为失败。
超时

您希望管道步骤超时的最大时间(以秒为单位)。当您的步骤没有指定任何超时时,使用此超时。默认值为3600秒。

有关更多信息,请参见设置步骤超时时间

Docker注册表不安全
一个逗号分隔的允许的列表不安全的docker注册表
启用使用非root用户运行的节点

选择启用以非root用户运行节点。

中提到的先决条件以非root用户初始化静态节点页可用于作为非根用户运行构建节点。

限制

以非root用户运行节点有一定的限制。有关更多信息,请参见使用非root用户初始化节点

enforceNonRootNodes全局设置

管道管理员可以使用enforceNonRootNodes系统级设置,强制只使用那些配置了非root的节点池。当这个全局设置设置为真正的,它优先于UI中配置的非root用户设置。请注意,目前只支持Ubuntu 18和Ubuntu 20。

根据管道安装的类型enforceNonRootNodes设置方式如下:

  • 公共图:如果安装使用公共图表,则更改设置tvalues.yml文件。
  • 码头工人:如果安装使用的是Docker,那么在运行时配置节中管道系统
将管道分配给该节点池
任何管道源

选中后,从任何管道源加载的管道都可以使用此节点池。

取消选择此选项以将节点池的使用限制为一组管道源


一旦创建了静态节点池,您就可以添加静态节点


管理所有节点池

以下操作只能由管理员用户配置pipeline节点池(静态和动态)以供操作。

限制节点池使用

如果节点池位于项目中,则可以将其分配给一个或多个环境,并且与该节点池共享至少一个环境的管道源中的管道可以使用该节点池。默认情况下,节点池属于DEV环境。

不在项目中的节点池可用于不在项目中的管道源中的管道。此外,还可以规定进一步的限制,以限制使用特定的管道源和已给定的用户权限来使用这些管道源。

您可以在添加或修改节点池时建立这些使用限制。

  1. 将管道分配给该节点池,取消选中的选项任何管道源
  2. 在显示的界面中,从可用管道源列表中进行选择,并将行(通过单击-拖动或箭头按钮)移动到包含的管道源列表中。


  3. 完成后,单击保存节点池


查看可用节点池

要查看已添加并可供使用的节点池列表;管理|管道|节点池应用|管道|节点池

非管理员用户将只显示被允许使用的节点池。


超过最大限制

当节点池中的节点数量超过最大限制时,将在列表中添加感叹号最大限制列。

节点发放状态

在“节点池”列表视图中,有提供状态列为每个节点提供供应状态的颜色表示。每种颜色代表节点生命周期中的一个阶段。

颜色 提供状态 描述

不提供 未请求供应节点。

等待 在供应节点时,它首先进入等待状态。这意味着云提供商正在初始化节点和/或没有将状态报告回pipeline。

处理
  • 云提供商将节点的状态报告给管道,管道正在设置代理。
  • 节点正在运行构建。

成功 节点已成功初始化,正在等待管道构建。

失败

节点故障。这通常是由内存不足问题引起的。但是,可能还有其他几个原因,这些原因反映在节点控制台中。

停止 删除节点时,会先停止对节点的发放,然后再删除。

缓存

节点已停止且未运行,但实际实例仍可立即使用。

必须启用缓存要缓存的节点。

查看节点池详细信息

在可选节点池列表中单击节点池名称,查看节点池的详细信息。


修改/移除节点池

云只:默认节点池default-dynamic-nodepool由JFrog和c某些设置,如机器类型,不能修改

编辑节点池设置。

  1. 查看节点池如上所示。
  2. 点击编辑
    不能更改的设置有灰色区域。


  3. 更改设置完成后,单击保存节点池


删除节点池。

  1. 查看节点池如上所示。
  2. 点击删除
  3. 单击确认要删除确认

跨多个项目共享节点池

项目管理员可以跨多个项目共享节点池,以允许多个项目中的成员使用它们。共享节点池的一个经典用例是在运行管道时需要共享计算资源2022世界杯阿根廷预选赛赛程多个项目。节点池可以与单个项目共享,也可以跨多个项目共享。共享节点池后,该节点池将被添加到目标项目中,并显示在节点池界面。

共享节点池规则和指南

  • 创建节点池后,才能共享该节点池。
  • 节点池只有具有全局唯一的名称才能被共享。
  • 只有共享节点池的所有者才能删除共享节点池。

共享节点池。

  1. 选择相关的Project和政府模块,转到管道|节点池。
  2. 将鼠标悬停在待共享的节点池上,单击分享图标。


  3. 您可以共享选定的集成:
    • 在所有项目中,通过选择自动与所有项目共享字段。
    • 仅对特定的项目,通过从项目列表中选择项目的名称。

  4. 点击保存
  • 没有标签
版权所有©2022 JFrog Ltd.