Coder Social home page Coder Social logo

bakhtin / swiss-army-kube Goto Github PK

View Code? Open in Web Editor NEW

This project forked from provectus/swiss-army-kube

0.0 1.0 0.0 1.41 MB

This repository provides the minimal set of resources, which may be required for starting comfortably developing the process of new IaC project

License: Apache License 2.0

HCL 96.03% Shell 3.97%

swiss-army-kube's Introduction

Maintenance Apache2 GitHub contributors GitHub release (latest SemVer)

QuickstartModulesConfigure DeploymentTroubleshootingContributingProvectus

Swiss Army Kube - Free IaC Tool for Easy EKS Kubernetes Cluster Deployment.

logo 

Swiss Army Kube (SAK) is an open-source IaC (Infrastructure as Code) collection of services for quick, easy, and controllable deployment of EKS Kubernetes clusters on Amazon for your projects. With Swiss Army Kube, cluster configuration and provisioning takes just a fraction of time normally spent on manual deployment via AWS management console. SAK automates deployments, making them repeatable, consistent, and less error-prone.

Swiss Army Kube uses Terraform to describe the desired state of your infrastructure (resources that need to be provisioned like IAM roles, ASG, Route 53, subnets, etc.) and build a Kubernetes cluster on AWS EC2 instances.

SAK provides an example directory that you can use as an easily modifiable template to set up your cluster deployment configuration in minutes. All you need is to edit a couple of files to include modules and set variables. This way you can quickly configure and provision multiple dedicated EKS Kubernetes clusters with different configurations of modules, variables, networks, and Kubernetes versions.

We believe that any developer or organization should be able to focus on their applications without having to worry too much about the nitty-gritty of infrastructure deployment.

Currently, Swiss Army Kube is available for the Amazon EKS (Elastic Kubernetes Service) for Kubernetes cluster only. We plan to expand to other platforms soon.


Key Features

Deploy

  • Provision an AWS EKS cluster in minutes
  • Use existing project structure to set up your infrastructure
  • Configure your deployment in a single .tfvars file
  • Add and configure modules in a single .tf file
  • Deploy with a couple of Terraform commands

Manage

  • Manage your cluster with Terraform and Kubernetes CLI commands
  • Easily edit, reconfigure, rerun or destroy resources
  • Use handy scripts that make your work faster

Scale

  • Configure and deploy as many projects as you need fast and easy
  • Scale deployments by adding new modules
  • Reduce your cloud infrastructure spend with spot instances
  • Maximize your workload cost-efficiency

How it Works

Configure and deploy as many projects as you want.

  1. Sign up for Amazon account
    • Create and configure an IAM user
  2. Install Prerequisites
    • Clone this repository
    • Install prerequisites via script (MacOS users) or manually (other users)
    • Rename example.tfvars to terraform.tfvars
  3. Configure your EKS cluster deployment using example directory as a project template
    • Configure modules
    • Configure variables
  4. Deploy your EKS Kubernetes cluster with Terraform commands
  5. Configure kubectl to manage your Kubernetes cluster
  6. Manage your EKS Kubernetes cluster and deploy your containerized apps on it

Get Started

Visit our Quickstart to install and configure prerequisites, set up your project deployment with desired modules in modules.tf and variables in example.tfvars, and deploy your infrastructure with Terraform commands:

terraform init
terraform plan -out plan
terraform apply "plan"

After deployment, manage your cluster with Terraform and Kubernetes CLI commands or AWS management console.

Contributing

Contributing to Swiss Army Kube is very welcome. Currently, we're looking for contributions to the documentation of Modules. All you need is being comfortable with GitHub and Git. To get involved with documentation, please read our Contributing Guide.

License

Swiss Army Kube is licensed under the Apache 2.0 License.

swiss-army-kube's People

Contributors

akastav avatar evanto avatar majex avatar rustamgimadiev avatar serhiisokolov avatar serhiisokolov-cameriq avatar strawberrypie avatar tidylobster avatar timurb avatar tonoyanartavazd avatar usbulat avatar viatcheslavmogilevsky 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.