Aws Autoscaler Addon

Introduction

The Platform9 managed AWS Autoscaler addon object's primary function is to ensure the resources of the Kubernetes cluster are never exhausted. More specific information about Kubernetes Autoscaler can be found in its specific GitHub pagesarrow-up-right.

Description

The AWS autoscaler addon continually verifies the number of needed pods that are pending allocation. If there are pods that are pending allocation and the autoscaler addon is not at its defined capacity, new nodes are then provisioned to accommodate the demand. When demand drops and fewer nodes are needed, the autoscaler removes the unused nodes. After we install the autoscaler addon, its behavior is automatic, so users only need to define the number of replicas to be deployed.

Settings

The AWS Autoscaler settings are defined by information stored in a ConfigMap. When the addon is initially configured, user settings are provided by the client to support, who then implements the changes.

YAML Specifications

The optional resizer Addon was recently introduced in this version. If the enableAddonResizer field is not explicitly enabled, it will fall back to a single autoscaler container. The addon resizer has 6 configuration parameters, which will default to the values noted below if they are not provided.

apiVersion: sunpike.platform9.com/v1alpha2
kind: ClusterAddon
metadata:
  labels:
    sunpike.pf9.io/cluster: '<clsuuid>'
    type: cluster-auto-scaler-aws
  name: <clsuuid>-cluster-auto-scaler-aws
  namespace: default
spec:
  clusterID: '<clsuuid>'
  override:
    params:
    - name: clusterUUID
      value: ''
    - name: clusterRegion
      value: '<aws region>'
    # If enableAddonResizer is not set, the following values are explicitly used
    # If enableAddonResizer is set, the following 4 values are irrelevant and can be removed
    - name: cpuRequest
      value: 100m
    - name: cpuLimit
      value: 200m
    - name: memRequest
      value: 300Mi
    - name: memLimit
      value: 600Mi      
    # Addon resizer can be enabled by setting enableAddonResizer to any value
    # If enableAddonResizer is not set, the all following params are irrelevant
    # All of the following params are optional
    # cpu request/limit = .cpuRequestLimit + .cpuExtra * .minClusterSize
    # mem request/limit = .memRequestLimit + .memExtra * .minClusterSize
    # The values set here are the default values used if these params are not present    
    - name: enableAddonResizer
      value: "true"    
    - name: cpuRequestLimit
      value: "150m"
    - name: cpuExtra
      value: "0.5m"
    - name: memRequestLimit
      value: "300Mi"
    - name: memExtra
      value: "10Mi"
    - name: percentThreshold
      value: "5"      
    - name: minClusterSize
      value: "2"
  type: cluster-auto-scaler-aws
  version: 1.14.8
  watch: true

It should be noted that these addons are updated along with the pf9-kube version and can be referenced in the Support Matrixarrow-up-right article.

Last updated

Was this helpful?