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:
| Name | Type | Managed By | Description |
|---|---|---|---|
| atmosly-addons | aws-managed / GKE-Standard | Atmosly | Dedicated to cluster add-on workloads |
| default | karpenter-managed / GKE-Standard | Atmosly | Default node group for user service deployments |
| observability | karpenter-managed / GKE-Standard | Atmosly | Dedicated to PGL Stack observability workloads (only created if PGL Stack add-on is enabled) |
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)
| Type | Description |
|---|---|
| AWS-managed | Managed by AWS using EC2 Auto Scaling groups. You set min/max/desired node counts. |
| Karpenter-managed | Managed by Karpenter for just-in-time, dynamic node provisioning. Nodes are automatically scaled based on workload demands. |
GCP (GKE)
| Type | Description |
|---|---|
| GKE-Standard | Standard node pools with manual or auto-scaling configuration. |
| GKE-Autopilot | Fully managed by GKE — Google handles node provisioning and scaling automatically. |
Node Group Configuration Fields
AWS Node Group Fields
| Field | AWS-Managed | Karpenter-Managed | Description |
|---|---|---|---|
| Display Name | Required | Required | Name for the node group |
| AMI Family | Required | Required | OS image family: AL2 (Amazon Linux 2), AL2023 (Amazon Linux 2023), Ubuntu, Bottlerocket, Windows2019, Windows2022 |
| Node Group Type | Required | Required | aws-managed or karpenter-managed |
| Capacity Type | Required | Required | On-Demand or Spot (Karpenter supports selecting both simultaneously) |
| Instance Family / Type | Required | Required | General 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 Size | Required | Required | Storage in GB (minimum 10 GB) |
| EBS Volume Type | Optional | Optional | gp3 (default), gp2, io1, io2, st1, sc1, standard |
| Min Nodes | Required | N/A | Minimum number of nodes |
| Max Nodes | Required | N/A | Maximum number of nodes |
| Desired Nodes | Required | N/A | Desired number of nodes (must be at least Min and at most Max) |
| Labels | Optional | Optional | Key-value pairs for workload scheduling |
| Custom AMI ID | Optional | Optional | Custom AMI for all nodes in the group |
| Associate Public IP | Optional | N/A | Whether nodes get public IP addresses |
| Enable Monitoring | Optional | N/A | Enable detailed CloudWatch monitoring |
Karpenter-Specific Fields
| Field | Description |
|---|---|
| Instance Families | List of instance families to use (e.g., t3, t4g, m5) |
| Excluded Instance Types | Specific instance types to exclude |
| Consolidate After | Time to wait before consolidating underutilized nodes (default: 15m) |
| Consolidation Policy | When to consolidate: WhenEmptyOrUnderutilized (default) or WhenEmpty |
| Expire After | Maximum node lifetime before replacement (default: 720h) |
GCP Node Pool Fields
| Field | Description |
|---|---|
| Display Name | Name for the node pool |
| Instance Type | GCP machine type (e.g., n1-standard-1, e2-medium) |
| Image Type | Node OS image: COS_CONTAINERD (default), COS, UBUNTU, UBUNTU_CONTAINERD |
| Disk Size | Storage in GB. Minimum varies by image type: COS/COS_CONTAINERD: 12 GB, Ubuntu/UBUNTU_CONTAINERD: 30 GB. Default: 50 GB |
| Disk Type | pd-standard (default), pd-ssd, pd-balanced |
| Initial Node Count | Starting number of nodes |
| Min Nodes | Minimum number of nodes for autoscaling |
| Max Nodes | Maximum number of nodes for autoscaling |
| Max Pods Per Node | Maximum pods per node (default: 110) |
| Preemptible | Use preemptible VMs for cost savings (can be interrupted) |
| Auto Repair | Automatically repair unhealthy nodes |
| Auto Upgrade | Automatically upgrade nodes to latest K8s version |
| Labels | Key-value pairs for workload scheduling |
| Tags | Network tags for firewall rules |
| Secure Boot | Enable Shielded VM secure boot |
| Integrity Monitoring | Enable Shielded VM integrity monitoring |
Managing Node Groups
Adding a New Node Group
- Navigate to the Node Group & Pods section within the desired cluster.
- Click on the Node Group tab.
- Click Add Node Group button at the top left.
- Fill in the required details based on the cloud provider and node group type.
- 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.
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
| Field | AWS-Managed | Karpenter-Managed |
|---|---|---|
| Display Name | No | No |
| AMI Family | No | No |
| Node Group Type | No | No |
| Capacity Type | No | Yes |
| Disk Size | Yes | Yes |
| Labels | Yes | Yes |
| Min Nodes | Yes | N/A |
| Max Nodes | Yes | N/A |
| Instance Family / Type | Yes | Yes |
| Consolidation Policy | N/A | Yes |
| Consolidate After | N/A | Yes |
| Expire After | N/A | Yes |
GCP
| Field | GKE-Standard | GKE-Autopilot |
|---|---|---|
| Min Nodes | Yes | N/A (managed by GKE) |
| Max Nodes | Yes | N/A (managed by GKE) |
| Labels | Yes | Yes |
| Auto Repair | Yes | N/A |
| Auto Upgrade | Yes | N/A |
| Instance Type | No | N/A |
| Image Type | No | N/A |
Node Group Status
| Status | Description |
|---|---|
| Creating | Node group is being provisioned |
| Active | Node group is operational and running |
| Updating | Node group configuration is being modified |
| Destroying | Node group is being deleted |
| Failed | The operation (creation, update, or deletion) has failed |