Socket
Book a DemoInstallSign in
Socket

@arhea/aws-cdk-eks-cluster-autoscaler

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arhea/aws-cdk-eks-cluster-autoscaler

A CDK Construct Library for Cluster Autoscaler.

0.5.0
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

AWS CDK EKS Cluster Autoscaler

CodeBuild Badge

This module makes it easy to deploy and manage Cluster Autoscaler from AWS CDK for your EKS clusters. This module is designed based on the guidance provided in the AWS documentation. This Construct will perform the following tasks:

  • Add k8s.io/cluster-autoscaler/<cluster-name> and k8s.io/cluster-autoscaler/enabled tags to your autoscaling groups
  • Attach the Cluster Autoscaler policy to the role attached to the Autoscaling Group
  • Deploy the Cluster Autoscaler Kubernetes Manifest

Installation

You can install this with npm or yarn.

npm i `@arhea/aws-cdk-eks-cluster-autoscaler` --save

or

yarn add `@arhea/aws-cdk-eks-cluster-autoscaler`

Usage

import { ClusterAutoscaler } from '@arhea/aws-cdk-eks-cluster-autoscaler';

const csa = new ClusterAutoscaler(this, 'demo-cluster-autoscaler', {
  cluster: cluster, // your EKS cluster
  nodeGroups: [ ng ], // a list of your node groups
  version: 'v1.14.6' // the version of cluster autoscaler to deploy
});
OptionDescriptionDefault
clusterThe @aws-cdk/aws-eks cluster instance where this Cluster Autoscaler should be deployed.N/A
nodeGroupsA list of AutoScalingGroup (@aws-cdk/aws-autoscaling) to include as part of the cluser autoscaler.N/A
versionThe version of the Cluster Autoscaler to deploy. Find the latest version based on your Kubernetes version here.v1.14.6

Full Example


// create a vpc to deploy eks
const vpc = new ec2.Vpc(this, 'example-vpc', {
  cidr: '10.1.0.0/16',
  maxAzs: 3,
  enableDnsHostnames: true,
  enableDnsSupport: true
});

// define an admin role to use, to enable kubectl
const clusterAdmin = new iam.Role(this, 'AdminRole', {
  assumedBy: new iam.AccountRootPrincipal()
});

// create the cluster
const cluster = new eks.Cluster(this, 'example-cluster', {
  mastersRole: clusterAdmin,
  vpc: vpc,
  vpcSubnets: [
    {
      subnetType: ec2.SubnetType.PRIVATE
    }
  ],
  defaultCapacity: 0
});


// create a custom node group
const ng = cluster.addCapacity('demo-ng1', {
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.T2, ec2.InstanceSize.LARGE),
  associatePublicIpAddress: false,
  bootstrapEnabled: true,
  desiredCapacity: 3,
  minCapacity: 3,
  maxCapacity: 6,
  mapRole: true
});

// create the cluster autoscaler instance
const csa = new ClusterAutoscaler(this, 'demo-cluster-autoscaler', {
  cluster: cluster, // your EKS cluster
  nodeGroups: [ ng ] // a list of your node groups
});

Keywords

aws

FAQs

Package last updated on 11 Nov 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.