Skip to main content
Node groups are collections of compute instances that run your workloads. Porter provides flexible options for managing compute resources, including custom node groups for specialized workloads and cost optimization features.

Default Node Groups

Porter provisions three node groups by default:
Node GroupPurposeAutoscaling
SystemKubernetes system workloadsFixed
MonitoringObservability stack (metrics, logs)Fixed
ApplicationYour application workloadsEnabled (1 node minimum)
The application node group autoscales based on demand. You can customize instance types, node counts, and scaling limits for all node groups.

Changing Instance Types

You can modify the instance type for any node group from the Infrastructure settings.
1

Navigate to Infrastructure

From your Porter dashboard, click on the Infrastructure tab in the left sidebar.
2

Select your cluster

Click on Overview to view your cluster configuration and node groups.
3

Configure the node group

Expand the node group dropdown (e.g., Default node group) to see the following settings:
SettingDescription
Machine typeThe underlying instance for nodes. Options vary by cloud provider.
Maximum nodesUpper limit for autoscaling under high load
Minimum nodesLower limit for autoscaling under low load
Disk sizeStorage capacity for each node (default: 50GB)
4

Update

Select the appropriate Machine type from the dropdown, then scroll to the bottom and click Update.

Instance Type Pricing

Why is my instance type not available?

Instance types may not be available if:
  • The instance is not available in your cluster’s region (cloud providers release new instances on a phased, region-by-region basis)
  • The instance type hasn’t been validated by Porter for compatibility
If you need a specific instance type that isn’t listed, contact us through the dashboard chat bot.

Creating a Custom Node Group

Create custom node groups for specialized workloads like GPU processing, high-memory applications, or isolated environments.
1

Navigate to Infrastructure

From your Porter dashboard, click on the Infrastructure tab in the left sidebar.
2

Select your cluster

Click on Cluster to view your cluster configuration and node groups.
3

Add a node group

Click Add an additional node group to open the configuration panel.
4

Configure the node group

Choose between two configuration approaches:
Cost optimization automatically selects the most cost-effective instance types for your workloads. Any cluster provisioned in AWS will default to cost optimized node groups.Set your maximum CPU cores limit to prevent unexpected scaling. This caps infrastructure costs while allowing flexibility in instance selection.

Limitations

The following configurations should use fixed instance types instead:
  • GPU instances (e.g., instances with NVIDIA GPUs)
  • Spot instances
  • Instances in public subnets
  • Instances with specialized hardware requirements
Health Checks Required: For production applications on cost-optimized node groups, configure proper health checks. This ensures applications can be safely rescheduled as nodes are reshuffled.
5

Save and apply

Click Save to create the node group. Porter provisions the new nodes, which may take a few minutes.

Assigning Workloads to Node Groups

Once your custom node group is created, assign applications to run on it:
  1. Navigate to your application in the Porter dashboard
  2. Go to the Services tab
  3. Click the service you want to assign
  4. Under General, find the Node group selector
  5. Select your custom node group from the dropdown
  6. Save and redeploy your application

Deleting a Node Group

Ensure no workloads are scheduled on the node group before deleting. Workloads will be disrupted if their node group is removed.
To remove a custom node group:
  1. Migrate any workloads running on the node group to another node group
  2. Navigate to InfrastructureCluster
  3. Find the node group you want to delete
  4. Click the delete icon and confirm