Skip to main content

Node Groups & Pods

Node groups define the compute capacity for your Kubernetes cluster. Atmosly supports multiple node group types across AWS and GCP.

Default Node Groups

Atmosly creates the following node groups by default when provisioning a cluster:

NameTypeManaged ByDescription
atmosly-addonsaws-managed / GKE-StandardAtmoslyDedicated to cluster add-on workloads
defaultkarpenter-managed / GKE-StandardAtmoslyDefault node group for user service deployments
observabilitykarpenter-managed / GKE-StandardAtmoslyDedicated to PGL Stack observability workloads (only created if PGL Stack add-on is enabled)
Default Node Groups

Default node groups are created and managed by Atmosly. While you can edit or delete them, exercise caution — removing or misconfiguring default node groups may affect add-on functionality and platform stability.


Node Group Types

AWS (EKS)

TypeDescription
AWS-managedManaged by AWS using EC2 Auto Scaling groups. You set min/max/desired node counts.
Karpenter-managedManaged by Karpenter for just-in-time, dynamic node provisioning. Nodes are automatically scaled based on workload demands.

GCP (GKE)

TypeDescription
GKE-StandardStandard node pools with manual or auto-scaling configuration.
GKE-AutopilotFully managed by GKE — Google handles node provisioning and scaling automatically.

Node Group Configuration Fields

AWS Node Group Fields

FieldAWS-ManagedKarpenter-ManagedDescription
Display NameRequiredRequiredName for the node group
AMI FamilyRequiredRequiredOS image family: AL2 (Amazon Linux 2), AL2023 (Amazon Linux 2023), Ubuntu, Bottlerocket, Windows2019, Windows2022
Node Group TypeRequiredRequiredaws-managed or karpenter-managed
Capacity TypeRequiredRequiredOn-Demand or Spot (Karpenter supports selecting both simultaneously)
Instance Family / TypeRequiredRequiredGeneral Purpose (T3/T3a/T4g, M5/M5a/M5n/M5zn, A1), Compute Optimized (C5/C5a/C5n, C6g, C6i), Memory Optimized (R4, R5/R5a/R5b/R5n, R6g, X1/X1e), Storage Optimized (I3/I3en, D2, H1, D3/D3en), Accelerated Computing (P3/P4, G4, F1, Inf1), ARM-based (AWS Graviton)
Disk SizeRequiredRequiredStorage in GB (minimum 10 GB)
EBS Volume TypeOptionalOptionalgp3 (default), gp2, io1, io2, st1, sc1, standard
Min NodesRequiredN/AMinimum number of nodes
Max NodesRequiredN/AMaximum number of nodes
Desired NodesRequiredN/ADesired number of nodes (must be at least Min and at most Max)
LabelsOptionalOptionalKey-value pairs for workload scheduling
Custom AMI IDOptionalOptionalCustom AMI for all nodes in the group
Associate Public IPOptionalN/AWhether nodes get public IP addresses
Enable MonitoringOptionalN/AEnable detailed CloudWatch monitoring

Karpenter-Specific Fields

FieldDescription
Instance FamiliesList of instance families to use (e.g., t3, t4g, m5)
Excluded Instance TypesSpecific instance types to exclude
Consolidate AfterTime to wait before consolidating underutilized nodes (default: 15m)
Consolidation PolicyWhen to consolidate: WhenEmptyOrUnderutilized (default) or WhenEmpty
Expire AfterMaximum node lifetime before replacement (default: 720h)

GCP Node Pool Fields

FieldDescription
Display NameName for the node pool
Instance TypeGCP machine type (e.g., n1-standard-1, e2-medium)
Image TypeNode OS image: COS_CONTAINERD (default), COS, UBUNTU, UBUNTU_CONTAINERD
Disk SizeStorage in GB. Minimum varies by image type: COS/COS_CONTAINERD: 12 GB, Ubuntu/UBUNTU_CONTAINERD: 30 GB. Default: 50 GB
Disk Typepd-standard (default), pd-ssd, pd-balanced
Initial Node CountStarting number of nodes
Min NodesMinimum number of nodes for autoscaling
Max NodesMaximum number of nodes for autoscaling
Max Pods Per NodeMaximum pods per node (default: 110)
PreemptibleUse preemptible VMs for cost savings (can be interrupted)
Auto RepairAutomatically repair unhealthy nodes
Auto UpgradeAutomatically upgrade nodes to latest K8s version
LabelsKey-value pairs for workload scheduling
TagsNetwork tags for firewall rules
Secure BootEnable Shielded VM secure boot
Integrity MonitoringEnable Shielded VM integrity monitoring

Managing Node Groups

Adding a New Node Group

  1. Navigate to the Node Group & Pods section within the desired cluster.
  2. Click on the Node Group tab.
  3. Click Add Node Group button at the top left.
  4. Fill in the required details based on the cloud provider and node group type.
  5. Click Proceed to create the node group.

Viewing Node Details

Navigate to the Node section to examine specific details about each node in the cluster, including status, capacity, and allocated resources.

Viewing Pod Details

Visit the Pod section to review information about the pods running on the cluster, including their status, node assignment, and resource usage.


Editing / Deleting a Node Group

To edit or delete a node group, navigate to the three dots (...) next to the node group name.

warning

Default node groups (atmosly-addons, default, observability) are used by the platform for critical workloads. Editing or deleting them may impact add-on functionality and cluster stability. Proceed with care.

Editable Fields

AWS

FieldAWS-ManagedKarpenter-Managed
Display NameNoNo
AMI FamilyNoNo
Node Group TypeNoNo
Capacity TypeNoYes
Disk SizeYesYes
LabelsYesYes
Min NodesYesN/A
Max NodesYesN/A
Instance Family / TypeYesYes
Consolidation PolicyN/AYes
Consolidate AfterN/AYes
Expire AfterN/AYes

GCP

FieldGKE-StandardGKE-Autopilot
Min NodesYesN/A (managed by GKE)
Max NodesYesN/A (managed by GKE)
LabelsYesYes
Auto RepairYesN/A
Auto UpgradeYesN/A
Instance TypeNoN/A
Image TypeNoN/A

Node Group Status

StatusDescription
CreatingNode group is being provisioned
ActiveNode group is operational and running
UpdatingNode group configuration is being modified
DestroyingNode group is being deleted
FailedThe operation (creation, update, or deletion) has failed