Giter VIP home page Giter VIP logo

k8s-aws's Introduction

Kubernetes on AWS via Kismatic Enterprise Toolkit

The focus of this code is to deploy a basic Kubernetes cluster into AWS for testing and training purposes. Upon successful completion, the following instances will have been provisioned:

  • 1 k8s master node, with etcd co-located
  • 2 k8s worker node
  • 1 k8s ingress controller node

All instances are configured with public IPs, however firewall rules will only allow SSH and kubeapi access from the CIDR block (local_cidr) defined in terraform/terraform.tfvars, or the default value as set in variables.tf if no local_cidr is provided.

Additionally, the following support infrastructure will be provisioned:

  • Custom VPC with a single subnet, with associated Internet gateway, and routing table
  • Newly generated SSH keypair (local and setup as AWS key pair)
  • Security groups for allowing SSH, kubeapi, and internal network traffic

Prerequisites

Usage

Create a customized terraform/terraform.tfvars file (tfvars file reference), key configurations are:

Key Description
local_cidr Local machine IP address (x.x.x.x/32) or CIDR range to allow access to the cluster
aws_access_key AWS IAM user access key
aws_secret_key AWS IAM user secret key

Other settings can be configured such as instances sizes and region, as listed in terraform/variables.tf.

Provision and Build a cluster

  1. Deploy the AWS infrastructure:
make prepare-instances
make create-instances
  1. Once the deployment completes, setup and execute Kismatic Enterprise Toolkit:
make install-kismatic
make prepare-kubernetes
make install-kubernetes
  • Note: you may change the deployment name in the Makefile, or by passing DEPLOY=myname to the prepare and install commands.
  1. When finished with the cluster, you may destroy all the resources that were provisioned. To do so, run the following:
make destroy-instances
make remove-kismatic
  • Note: If you changed the deployment name via command line, pass the name to the destroy command as well.

k8s-aws's People

Contributors

techjw avatar

Watchers

 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.