Skip to content

Bring cluster-autoscaler install from DAC to IAC #403

@rocoll

Description

@rocoll

Is your feature request related to a problem? Please describe.

The IAC is a frequent starting-point for deploying the SAS Viya platform. The DAC project is nice, but it's one of four possible approaches in install SAS Viya (vs. manual, sas-orch, SAS DepOp).

Unlike Azure and GCP, in AWS the cluster-autoscaler is not provided by default with the EKS cluster - it's a separate install. For Azure and GCP, the feature must be enabled -- but that's different than "installed".

While the IAC for AWS does some of the prereqs (like IAM role) for cluster-autoscaler, it does not actually install it. The install of cluster-autoscaler is done in the DAC.

Describe the solution you'd like

Since this is mostly just an AWS consideration - and I don't always use the DAC - it makes sense to bring the install of cluster-autoscaler into the viya4-iac-aws project.

Describe alternatives you've considered

After using the IAC, I install the cluster-autoscaler manually using a Helm chart. Not hard, but a bit weird since I need to refer to the IAM role that the IAC already setup.

Additional context

My understanding is that the DAC only needs to install cluster-autoscaler for AWS - not for Azure or GCP. Since it's AWS only - and usable for scalability for K8s in general, not just Viya - then I think the install of cluster-autoscaler should be moved out of DAC and into IAC.

I'm a fan of "if it ain't broke, don't fix it" - but having recently been surprised at the lack of a cluster-autoscaler in my IAC-provisioned EKS environment, I think this change will provide a better experience overall.

Also, since the IAC itself is technically optional for provisioning hardware to run SAS Viya, perhaps the existing DAC code could remain effective? That way if the site does the appropriate prereqs manually (including the IAM role for cluster-autoscaler), then the DAC can still install it, if needed.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestnewAdded to an issue when it's new ;)staleOpen for 30 days with no activity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions