Quickstart • Modules • Configure Deployment • Troubleshooting • Contributing • Provectus
Swiss Army Kube - Free IaC Tool for Easy EKS Kubernetes Cluster Deployment.
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 example directories that you can use as easily modifiable templates 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.
- Sign up for Amazon account
- Create and configure an IAM user
- Install Prerequisites
- Clone this repository
- Install prerequisites via script (MacOS users) or manually (other users)
- Configure your EKS cluster deployment using one of the
examples/
directories as a project template- Configure modules and variables
- Deploy your EKS Kubernetes cluster with Terraform commands
- Configure
kubectl
to manage your Kubernetes cluster - 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 and configurations in *.tf
files, 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.