Add a Dynamic Node Pool

JFrog Pipelines Documentation

Products
JFrog Pipelines
Content Type
User Guide
ft:sourceType
Paligo

To create a new dynamic node pool for on-demand build nodes, go to Administration | Pipelines | Node Pools, click Add Node Pool, and then select Dynamic. For more information on Dynamic Nodes, see

Note

When a user-defined integration is selected, SaaS users can create custom dynamic nodes and customize all the relevant settings. Users can select any cloud provider with no restrictions on settings, such as machine type, region, and others.

dynamicNodePool_30jan23.png

Fields that are not required may be left blank. For example, you may not wish to set the fields to limit node count, disk usage, or timeout. When finished, click Save Node Pool.

General Settings

Name

An alphanumeric friendly name for the node pool.

Note

When adding a node pool within a specific Project, by default, the name is prefixed with the Project Key. After a node pool is saved, its name cannot be edited.Projects

Set as Default Node Pool

When checked, sets the node pool as the default node pool for all pipelines in the selected Project. All steps that do not explicitly define which node pool to use will run on nodes of the default node pool.

Select an Integration/Select a Build Image

Integration

Create or select from the available Admin integrations for one of the following cloud or Kubernetes service:

Important

The aws_dynamic_nodes integration cannot be used with Ubuntu 20 ARM build plane image as it does not support t3a.medium machine size. If you want to use AWS with Ubuntu 20 ARM build plane image, create a new AWS node pool integration and select a machine type other than t3a.medium.

Build Image

In the Build Plane Images window:

  • Select from the available build images. For example, an Amazon Machine Image (AMI) on AWS.

    or

  • Click Add Build Image to add your own custom VM image. For more information, see Creating Custom VM Images.

Additional Settings

Machine Type

Select from the available machine (instance) types for the service. For example: c4.large on AWS.

Fetch Machine Types

Click to fetch all the supported machine types (in addition to the static list of machine types) from the cloud provider for the selected region/zone. The button is available only when a user-defined integration and valid zone (in some cases) is selected.

Node Limits

The maximum number of nodes that can created on-demand for this node pool.

Disk Size

Optional. Configure dynamic node disk size.

The minimum limit is:

  • AWS (Windows): 120 GB

  • Azure (Windows): 128 GB

  • Others: 60 GB

Note

  • This option is available for Pipelines self-hostedise versions only.

  • If the disk size is not specified, the node will use the image’s disk size by default.

Timeout

Number of seconds for connection timeout. Default is 3600 seconds.

For more information, see Setting Step Timeouts.

Node Idle Interval

Number of minutes a node can be idle before it is destroyed.

Insecure Docker Registries

A comma-separated list of allowed insecure docker registries.

Kubernetes Settings (see Creating Dynamic Nodes on Kubernetes for configuration procedures)

Storage Class

The storage class available from the service to use.

Run kubectl get storageclass to list the StorageClasses in your cluster.

CPU

The CPU limit resource settingfor every pod.

Labels

Optional labels for node selector.

Memory

The memory limit resource settingfor every pod.

Namespace

The namespace for nodes.

AWS Settings (see AWS Keys Integration for configuration requirements)

SSH Key Pair

The SSH encrypted access key for the cloud service. Name of the SSH Key pair created on AWS.

Security Group ID

An ID for an optional security group for all created nodes.

Subnet Id

Optional VPC subnet ID

GCP Settings (see Google Cloud Integration for configuration requirements)

Zone

Zonewithin the hosting GCP region

Network Tags

Optional Network tags (text attributes) for the VM instances

Subnet Name

Optional subnet name

Assign Public IP

When selected, nodes will be created with public IP addresses

Azure Settings (see Azure Keys Integration for configuration requirements)

Subscription ID

GUID that uniquely identifies your subscription to use Azure services

Subnet Name

Vnet subnet name

Vnet Name

Azure Virtual Network name (e.g., myVirtualNetwork)

Resource Group Name

Name of the resource group (e.g., myResourceGroup)

Security Group Name

Optional NIC network security group

Public SSH Key

Public Secure Shell (SSH) key for Linux VMs

Admin Username

Username for RDP (Windows nodes only, optional)

Admin Password

Password for RDP (Windows nodes only, optional)

Cache Settings

Enable Cache

When checked, enables node caching.

Reset Cache

Select the type of interval to reset the cache: On Day of Week or By Number of Days.

Available only when node caching is enabled.

Assign Pipelines to this Node Pool

Any Pipeline Source

When selected, pipelines loaded from any pipeline source can use this node pool.

Unselect this option to restrict node pool use to a set of pipeline sources.