rancher / dashboard

The Rancher UI
https://rancher.com
Apache License 2.0
462 stars 261 forks source link

Add support for ARM node groups #11629

Open gurchik opened 12 months ago

gurchik commented 12 months ago

Currently eks-operator only supports 3 types of node groups:

https://github.com/rancher/eks-operator/blob/3e0b47a570397a23c82f8fb6ce8e8fee34582e0d/pkg/eks/create.go#L273-L281

It would be great if there was also support for eks.AMITypesAl2Arm64. This would allow the creation of Managed Node Groups that are running ARM. Currently the only way to target ARM is to create a custom launch template and specify it with the launch_template input. Creating a custom launch template is not preferable because, among other things, it requires creating a custom userdata script and you lose the ability to perform a managed node group update.

This constant is available in the version of aws-sdk-go being used: https://pkg.go.dev/github.com/aws/aws-sdk-go@v1.45.6/service/eks#pkg-constants

Desirable result would be to have an arm input I can set to true.

kkaempf commented 12 months ago

@davidstauffer šŸ‘†šŸ»

valaparthvi commented 8 months ago

Tested via API on 2.9-head and it works fine.

"nodeGroups": [
    {
        "arm": true,
        "desiredSize": 2,
        "diskSize": 20,
        "ec2SshKey": null,
        "gpu": null,
        "imageId": null,
        "instanceType": "a1.medium",
        "labels": { },
        "launchTemplate": null,
        "maxSize": 3,
        "minSize": 1,
        "nodeRole": "arn:aws:iam::879933548321:role/auto-ekshostcluster-hp-cipze-node--NodeInstanceRole-YyTRKONmeTTW",
        "nodegroupName": "dng",
        "requestSpotInstances": false,
        "resourceTags": { },
        "spotInstanceTypes": null,
        "subnets": [ 2 items
            "subnet-0196175050481fd97",
            "subnet-06bbbb08fbb70e046"
        ],
        "tags": { },
        "type": "/v3/schemas/nodeGroup",
        "userData": null,
        "version": "1.28"
    }
]
  1. Add EKS with arm
  2. Add nodegroup
  3. Delete nodegroup
  4. Scale the nodegroup up/down; here I noticed some flakes, for e.g. For an existing nodegroup with InstanceType: a1.large, scaling up returned the following error: [Syncing error] error for cluster [c-vzmmp]: health error for node group [dng] in cluster [c-vzmmp]: Could not launch On-Demand Instances. Unsupported - Your requested instance type (a1.medium) is not supported in your requested Availability Zone (ap-south-1a). Please retry your request by not specifying an Availability Zone or choosing ap-south-1b, ap-south-1c. Launching EC2 instance failed.

Changes that UI will need:

  1. UI is missing a checkbox for "ARM".
  2. Instance types compatible with ARM are not visible in UI.

Image

Overall I think it works well.

furkatgofurov7 commented 8 months ago

@kkaempf can we get help from UI for:

Changes that UI will need:

  1. UI is missing a checkbox for "ARM".
  2. Instance types compatible with ARM are not visible in UI.
mjura commented 3 months ago

I don's see UI ticket assigned to it, @valaparthvi do you know if UI issue was also created.

valaparthvi commented 3 months ago

There is no UI ticket open. Should I transfer this issue to rancher/dashboard or create a new one? @mjura

mjura commented 3 months ago

There is no UI ticket open. Should I transfer this issue to rancher/dashboard or create a new one? @mjura

Yes, please transfer this issue to rancher/dashboard

kkaempf commented 3 months ago

@gaktive @nwmac - ptal šŸ˜‰

nwmac commented 3 months ago

Let's not move tickets to the dashboard repo with a milestone that has passed - updating the milestone to 2.11.0 FYI @gaktive - will need to review - this probably needs a JIRA ticket as well.

gaktive commented 3 months ago

Internal reference: SURE-8886