管理动态节点池
动态节点池从云或Kubernetes服务按需上下旋转构建节点。创建动态节点池时,需要配置并提供管理集成以下任一云或Kubernetes服务:
动态节点为在触发一个步骤时提供,然后在预先设定的空闲时间内(如果在此间隔内没有触发新步骤)缓存或销毁。在云服务上使用时,t它可以通过不产生运行空闲节点的费用来帮助管理成本。
以下操作只能通过管理员用户配置可供运行的pipeline动态节点池。
添加动态节点池
要为按需构建节点创建新的动态节点池,请转到管理|管道|节点池,点击添加节点池,然后选择动态.
当选择用户定义集成时,SaaS用户可以创建自定义动态节点并自定义所有相关设置。用户可以选择任何云提供商,不受设置(如机器类型、地区等)的限制。
不需要的字段可以留空。例如,您可能不希望设置字段来限制节点数量、磁盘使用情况或超时时间。当完成时,单击保存节点池.
一般设置 | |
的名字 |
节点池名称必须为字母和数字组成的友好名称。 当添加指定节点池时项目默认情况下,名称的前缀是Project Key。保存节点池后,节点池的名称不可修改。 |
设置为“默认节点池” |
选中时,将该节点池设置为所选Project中所有管道的默认节点池。所有没有显式定义使用哪个节点池的步骤都将在默认节点池的节点上运行。 |
选择一个集成/选择一个构建映像 | |
集成 |
创建或选择可用的管理集成对于以下情况之一云或Kubernetes服务: |
构建图像 |
在建立飞机图片亮点:
|
附加的设置 | |
机器类型 |
从服务的可用机器(实例)类型中选择。例如:c4。大在AWS上。 |
获取机器类型 |
单击可从选定区域/区域的云提供程序获取所有支持的机器类型(除了机器类型的静态列表之外)。只有当用户定义的集成和有效区域(在某些情况下)被选中时,该按钮才可用。 |
节点的限制 |
该节点池可按需创建的最大节点数。 |
磁盘大小 |
可选的。配置动态节点硬盘大小。 最低限额为:
|
超时 |
连接超时的秒数。缺省值是3600秒。 有关更多信息,请参见超时设置步骤. |
节点空闲间隔 |
节点在被销毁前可处于空闲状态的分钟数。 |
不安全的码头工人注册 |
一个以逗号分隔的允许列表不安全的码头工人注册. |
Kubernetes设置(见在Kubernetes上创建动态节点配置程序) | |
存储类 |
的存储类可从服务中使用。 运行 |
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用户 |
选中时,命名为 限制 以非root用户运行节点有一定的限制。有关更多信息,请参见以非根用户初始化节点. |
缓存设置 |
|
启用缓存 |
检查时,使节点缓存. |
重置缓存 |
选择重置缓存的间隔类型:每周的每一天或按天数计算. 仅在启用节点缓存时可用。 |
为该节点池分配管道 | |
任何管道来源 |
选中后,从任何管道源加载的管道都可以使用此节点池。 取消选择此选项将节点池的使用限制为一组管道源. |
节点持续时间
当触发一个步骤时,将旋转一个动态节点来执行该步骤。步骤完成后,节点可以执行后续步骤,直到终止为止。
当节点缓存未启用时,pipeline将在节点第一次旋转后的每个节点空闲间隔检查节点。如果节点是空闲的,管道将终止该节点。这确保您的构建基础设施以一种有效的方式进行管理,以帮助您控制计算成本。
动态节点缓存
当启用节点缓存时,节点缓存可以避免重复耗时的过程,例如安装或加载大量依赖数据,从而帮助加快构建的执行。该特性仅适用于动态节点池。
当为动态节点池启用节点缓存时,pipes在执行步骤后暂停节点,而不是在指定的空闲时间后终止节点。当执行下一个步骤时,暂停的节点将重新启动,保留上一个步骤中安装的所有Docker映像或依赖项。这大大加快了作为工作流程一部分提取或构建Docker映像的构建。
此外,该节点可以更快地执行作业,因为从暂停状态重新启动节点要比配置新节点快得多。因此,如果您的构建只需要执行几分钟,您就可以为每次构建节省节点配置时间,这将迅速增加。
管理静态节点池
静态节点池是持久可用的构建节点(虚拟机)的集合。静态节点使您能够在自己的基础设施上执行管道步骤。有关更多信息,请参见管理管路静态节点.
以下操作只能通过管理员用户命令,配置pipeline静态节点池。
有关解决节点初始化问题的信息,请参见故障处理—节点初始化
添加静态节点池
要创建静态构建节点的新节点池,请转到管理|管道|节点池,点击添加节点池,然后选择静态.
不需要的字段可以留空。例如,您可能不希望设置字段来限制节点数量、磁盘使用情况或超时时间。当完成时,单击保存节点池.
一般设置 | |
的名字 |
节点池名称必须为字母和数字组成的友好名称。 |
设置为“默认节点池” |
选中表示设置该节点池为所有管道的默认节点池。所有没有显式定义使用哪个节点池的步骤都将在默认节点池的节点上运行。 |
附加的设置 | |
体系结构 |
目前有限的x86_64 |
操作系统 |
从所选体系结构支持的操作系统列表中进行选择。有关支持的操作系统和体系结构组合的列表,请参阅运行时的图片. |
运行时版本 |
将用于运行管道步骤的默认运行时映像。选择一个特定的运行时,以确保构建节点具有所需的语言/服务/CLIs等版本。要了解更多,请参见管理运行时. |
节点的限制 |
限制节点池中可添加的最大节点数。 |
最大磁盘使用率% |
限制最大磁盘使用率。超过此最大值的构建节点将被标记为失败。 |
超时 |
希望管道步骤超时的最大时间(以秒为单位)。当您的步骤没有指定任何超时时,将使用此超时。缺省值为3600秒。 有关更多信息,请参见超时设置步骤. |
不安全的码头工人注册 |
一个以逗号分隔的允许列表不安全的码头工人注册. |
为运行中的节点启用非root用户 |
选择以启用以非root用户运行节点。 中提到的先决条件以非根用户初始化静态节点页可用于作为非根用户运行构建节点。 限制 以非root用户运行节点有一定的限制。有关更多信息,请参见以非根用户初始化节点. enforceNonRootNodes全局设置 管道管理员可以使用 根据管道安装的类型,
|
为该节点池分配管道 | |
任何管道来源 |
选中后,从任何管道源加载的管道都可以使用此节点池。 取消选择此选项将节点池的使用限制为一组管道源. |
一旦创建了静态节点池,就可以执行此操作了添加静态节点.
管理所有节点池
以下操作只能通过管理员用户配置用于操作的pipeline节点池(静态和动态)。
限制节点池使用
如果一个节点池在一个项目中,它可以被分配到一个或多个环境中,并且与该节点池共享至少一个环境的管道源中的管道可以使用该节点池。缺省情况下,节点池处于DEV环境。
不在项目中的节点池可用于不在项目中的管道源中的管道。此外,可以指定进一步的限制,以限制使用特定的管道源和用户权限使用那些管道源。
当增加或修改节点池时,可以建立这些使用限制。
- 下为该节点池分配管道,取消选中选项任何管道来源.
- 在显示的界面中,从可用管道源列表中进行选择,并将行(通过单击-拖动或箭头按钮)移动到包含的管道源列表中。
- 当完成时,单击保存节点池.
查看可用节点池
查看已添加并可使用的节点池列表,去管理|管道|节点池或应用|管道|节点池.
非管理员用户只会看到允许他们使用的节点池。
马克斯超过限制
节点池中节点数超过最大限制时,将在列表中使用感叹号列出最大限制列。
节点提供状态
在节点池列表视图中,可以看到提供状态列以颜色表示每个节点的供应状态。每种颜色代表节点生命周期中的一个阶段。
颜色 | 提供状态 | 描述 |
---|---|---|
|
不提供 | 未请求提供该节点。 |
|
等待 | 当一个节点被供应时,它首先进入等待状态。这意味着云提供者正在初始化节点,并且/或没有向pipeline报告状态。 |
|
处理 |
|
|
成功 | 节点已成功初始化,正在等待管道构建。 |
|
失败 |
节点失败了。这通常是由内存不足问题引起的。但是,可能还有其他一些原因,这些原因在节点控制台中得到了反映。 |
|
停止 | 删除节点时,首先停止其发放,然后再删除节点。 |
|
缓存 |
节点已停止且未运行,但实际实例仍可立即使用。 必须启用缓存用于缓存一个节点。 |
查看节点池详情
在节点池列表中单击节点池名称,可查看节点池的详细信息。
跨多个项目共享节点池
项目管理员可以跨多个项目共享节点池,以允许多个项目中的成员使用它们。共享节点池的一个典型用例是在运行管道时需要共享计算资源2022世界杯阿根廷预选赛赛程多个项目。节点池可以与单个项目共享,也可以跨多个项目共享。共享完成后,节点池会被添加到目标工程中,并显示在节点池页面中。
共享节点池规则与指南
- 创建节点池后,节点池才能被共享。
- 节点池必须具有全局唯一的名称,才能被共享。
- 只有共享节点池的所有者可以删除共享节点池。
共享节点池。
- 选择相关的项目,并在政府模块,去管道|节点池。
- 鼠标悬停在待共享的节点池上方,单击分享图标。
- 您可以共享所选的集成:
- 在所有项目中,通过选择自动与所有项目共享字段。
- 仅针对特定的项目,从项目列表中选择项目的名称。
- 点击保存.