Giter VIP home page Giter VIP logo

aws_eks_cluster's Introduction

AWS EKS cluster

Creates and EKS Cluster in the given Region.

User can choose:

  1. Name of the cluster
  2. Number of AZ's to use and therefore desired number of nodes.
  3. Minimum number of nodes.
  4. Instance type of the nodes.
  5. SSH Key to be added to the nodes.

Template uses the new (re:Invent 2019) aws_eks_node_group resource to automate node deployment and cluster join.

Template can be run as follows:

  • Locally
  • Scalr Next-gen as the remote backend
  • Scalr Next-Gen Service Catalog Offering

Using Locally

  1. Pull the repo
  2. Set variable values in terraform.tvars.(json)
  3. Add your AWS access and secret keys to terraform.tfvars(.json), or enter them at the run time prompts. (scalr_aws_access_key, scalr_aws_secret_key)
  4. Run terraform init;terraform apply and watch the magic happen.

Using with Scalr Next-Gen as Remote Backend

  1. Pull the repo
  2. Create a CLI workspace in Scalr Next-Gen and configure the backend to match in main.tf.
  3. Create an TF API token in Scalr Next-Gen and add it to ~/.terraformrc.
  4. In Scalr Workspace add Terraform variables and values as follows (note that terraform.tfvars(.json) in the template is not used with a remote backend).
    1. region
    2. cluster_name
    3. instance_type
    4. number_of_azs
    5. minimum_nodes
  5. Run terraform init;terraform apply and watch the magic happen.

Using with Scalr Next-Gen Service Catalog Offering.

In general follow the example here https://scalr-athena.readthedocs-hosted.com/en/latest/next-gen/service_catalog.html#service-catalog

  1. Create Policies (scalr-module.hcl shows the policy bindings that are required)
    1. cloud.locations - Policy to limit the cloud locations (note this can be all locations but the policy must exist)
    2. cloud.instance_types - Restrict the instance types that are allowed. Minimum 4GB of ram.
  2. Create a Global Variable name_fmt with REGEX ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  3. Create a Global Variable numeric_fmt with REGEX ^[0-9][0-9]*$
  4. Fork or clone the Source repo (https://github.com/scalr-eap/aws_eks_cluster)
  5. Create the Service Catalog offering pointing to your copy repo
  6. Request the offering. It can take 10-15 minutes to deploy the cluster.

aws_eks_cluster's People

Contributors

pgale61git avatar

Watchers

James Cloos avatar Marat Komarov avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.