[PLT-3962] Add MachinePool support for EKS in cloud-provisioner#907
Open
iamjanr wants to merge 10 commits into
Open
[PLT-3962] Add MachinePool support for EKS in cloud-provisioner#907iamjanr wants to merge 10 commits into
iamjanr wants to merge 10 commits into
Conversation
- Detect MP vs MD per node (node_image absence → MachinePool) - Generate AWSManagedMachinePool manifests for MP nodes - Add autoscaler RBAC for MachinePool resources - Add validation for EKS managed node group constraints - Update cluster struct to carry MP node kind info Install and MD lifecycle verified OK. MP scale/delete fix pending. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…y doc aws-load-balancer-controller v2.14.x calls DescribeListenerAttributes during NLB reconciliation. The IRSA policy reference in the installation guide was missing this action, causing AccessDenied errors in controller logs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add CAPALaunchTemplates and CAPAAutoScalingGroups statements required for the deployment user when managing EKS MachinePools (managed node groups). Also add iam:UntagRole alongside the existing iam:TagRole. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…onfig for MachinePools - Add MPRoleName field to AWSCP struct to pass pre-existing IAM role to AWSManagedMachinePools - Add managedMachinePool block to AWSIAMConfiguration: creates eks-nodegroup role with AmazonEBSCSIDriverPolicy when create_iam: true - Add .claude/ to .gitignore
Adds a new script to assist migration of existing EKS clusters from MachineDeployments to MachinePools. The script: - Validates prerequisites (provider, CAPA >= v2.9.2, CO >= 0.6.1, status.ready) - Patches CAPA feature gates (MachinePool=true, EKSAllowAddRoles=true) idempotently - Updates cluster-operator to the target version - Provides a --check-ready assistant mode that validates MP capacity and prints drain commands for the equivalent MD worker (client executes manually)
Default is now TARGET_CLUSTER_OPERATOR_VERSION (0.9.0-PR907-SNAPSHOT) so clients can run the migration script without specifying the version manually.
Before running preparation mode, the script now prints a reminder to verify that the cluster-operator image and Helm chart are accessible in the cluster's configured registry and Helm repository.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PLT-3962 Add MachinePool support for EKS managed node groups
Description
Adds native support for
AWSManagedMachinePool(EKS managed node groups / MachinePools) in cluster-operator, while maintaining full backwards compatibility withMachineDeployment-based worker nodes.Detection logic (field-based, implicit):
node_imagepresent →MachineDeployment+AWSMachineTemplate+EKSConfigTemplateami_typepresent, or no image field →MachinePool+AWSManagedMachinePool(default:BOTTLEROCKET_x86_64)Type of Change
Related Pull Requests