Skip to content

digitalis-io/ami-kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Digitalis.io

Kubernetes-in-a-Box

Enterprise-Ready Kubernetes Platform with Production-Grade Tools - Deployed in Minutes

Deploy to AWS License Kubernetes

Quick Start β€’ Features β€’ Documentation β€’ Support


πŸš€ What is This?

Kubernetes-in-a-Box by Digitalis.io is a production-ready Kubernetes platform that deploys in under 15 minutes. No complex setup, no steep learning curveβ€”just a complete, enterprise-grade container orchestration platform with monitoring, dashboards, GitOps, databases, and more.

Perfect for:

  • 🏒 Development teams who need a quick Kubernetes environment for testing and development
  • πŸŽ“ Learning Kubernetes without the complexity of manual cluster setup
  • πŸš€ Proof-of-concepts and demos that need production-grade features
  • πŸ’Ό Small to medium workloads that don't require a full managed Kubernetes service
  • πŸ”¬ CI/CD pipelines for testing containerized applications

Why Choose This Over EKS/GKE/AKS?

Feature Kubernetes-in-a-Box Managed K8s (EKS/GKE/AKS)
Setup Time ⚑ ~15 minutes 🐌 30-60+ minutes
Cost πŸ’° ~$41/month (single t3.medium) πŸ’Έ $75+ control plane + nodes
Complexity 🎯 Web UI wizard πŸ“š Complex CLI/Console setup
Pre-installed Tools βœ… 10+ production tools included ❌ Manual installation required
Best For Dev, test, small workloads Production at scale

✨ What You Get

Deploy a complete Kubernetes platform with these production-grade tools pre-configured:

πŸ“¦ Core Infrastructure

  • K3s - Lightweight, certified Kubernetes distribution
  • cert-manager - Automated SSL/TLS certificate management
  • Rancher Local Path Provisioner - Dynamic persistent volume provisioning
  • Traefik Ingress - Built-in load balancer and reverse proxy

πŸ” Observability Stack

  • Prometheus - Metrics collection and monitoring
  • Grafana - Beautiful dashboards and alerting
  • Grafana Tempo - Distributed tracing (optional)
  • CloudWatch Integration - AWS native monitoring

πŸš€ DevOps & GitOps

  • ArgoCD - GitOps continuous delivery for Kubernetes
  • Headlamp - Modern Kubernetes web dashboard
  • code-server - VS Code in your browser for remote development

πŸ—„οΈ Database Options

  • MariaDB (MySQL) + phpMyAdmin - Relational database with web UI
  • PostgreSQL (CloudNativePG) + pgAdmin - Advanced relational database with web UI

🎨 Web-Based Configuration Wizard

  • Intuitive UI - No Kubernetes knowledge required
  • One-click deployments - Enable/disable features with checkboxes
  • Credential management - Auto-generated passwords and tokens
  • Export configuration - Download kubeconfig and credentials

🎯 Quick Start

Option 1: Deploy with CloudFormation (Recommended)

The fastest way to get started:

Launch Stack

Prerequisites:

  • AWS Account with appropriate permissions
  • VPC with internet connectivity
  • Subnet (public or private with NAT)
  • EC2 Key Pair

Steps:

  1. Click the "Launch Stack" button above
  2. Fill in the required parameters:
    • Stack name: Choose a name (e.g., my-kubernetes-cluster)
    • AmiId: Select the latest Kube AMI from your region
    • InstanceType: Choose instance size (t3.medium recommended)
    • KeyName: Select your EC2 key pair
    • VpcId: Select your VPC
    • SubnetId: Select your subnet
    • AllowedSshCidr: Your IP address or CIDR range (for security)
  3. Click "Create Stack"
  4. Wait ~10-15 minutes for deployment
  5. Access the wizard URL from stack outputs

πŸ“Š Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         AWS Cloud                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                      VPC                                  β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚  β”‚  β”‚              EC2 Instance (K3s)                     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚                                                     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚         Configuration Wizard UI             β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚           https://<ip>:9443                 β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚                                                     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚    Kubernetes Cluster (K3s)                 β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β”‚   Ingress   β”‚  β”‚   Applications       β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β”‚  (Traefik)  β”‚  β”‚  β€’ ArgoCD            β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β€’ Headlamp          β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚                   β”‚  β€’ Prometheus        β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β€’ Grafana           β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β”‚   Storage   β”‚  β”‚  β€’ Databases         β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β”‚ (Local Path)β”‚  β”‚  β€’ code-server       β”‚  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”‚  β”‚
β”‚  β”‚  β”‚                                                     β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   |  β”‚  β”‚
β”‚  β”‚                                                        |  β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   |  β”‚  β”‚
β”‚  β”‚  β”‚  Security   β”‚  β”‚  IAM Role    β”‚  β”‚  Elastic IP  β”‚   β”‚  β”‚  |
β”‚  β”‚  β”‚    Group    β”‚  β”‚              β”‚  β”‚              β”‚   β”‚  β”‚  |
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚  β”‚  |
β”‚  └───────────────────────────────────────────────────────-β”˜  β”‚  |
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎬 Getting Started

Once your stack is deployed:

1. Access the Configuration Wizard

Navigate to the Wizard URL from CloudFormation outputs:

https://<YOUR-INSTANCE-IP>:9443

Note: You may see a certificate warning (self-signed certificate). This is normalβ€”click "Advanced" and proceed.

2. Configure Your Applications

The wizard provides an intuitive interface to:

  • βœ… Enable/disable applications with checkboxes
  • πŸ”§ Configure databases, monitoring, GitOps
  • πŸ‘€ Preview what will be deployed
  • πŸš€ Deploy everything with one click

3. Monitor Deployment Progress

Watch real-time deployment logs as Ansible:

  • πŸ“¦ Installs Helm charts
  • πŸ” Configures certificates
  • πŸ—„οΈ Sets up databases
  • πŸ“Š Deploys monitoring tools

4. Access Your Applications

After deployment completes, the success page shows:

  • πŸ”‘ All credentials and access tokens
  • 🌐 Application URLs for all deployed services
  • πŸ“₯ Download buttons for kubeconfig and complete configuration
  • πŸ”’ "Complete and Lock" button to secure the wizard

5. Download Your Credentials

Important: Download and save:

  • config.yml - Complete configuration with all credentials
  • kubeconfig - Kubernetes cluster access configuration

Then click "Complete and Lock Wizard" to secure the system.


πŸ› οΈ Usage Examples

Connect with kubectl

# Download kubeconfig from the wizard
export KUBECONFIG=~/Downloads/kubeconfig

# Verify cluster access
kubectl get nodes
kubectl get pods -A

# Deploy a sample application
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=ClusterIP

Access Kubernetes Dashboard (Headlamp)

# Get the Headlamp URL from success page
open https://headlamp.<YOUR-IP>.nip.io

# Use the token from config.yml to log in

Deploy with ArgoCD (GitOps)

# Access ArgoCD UI
open https://argocd.<YOUR-IP>.nip.io

# Login with credentials from config.yml
# Username: admin
# Password: <from config.yml>

# Connect your Git repository and deploy applications

Query Metrics with Prometheus

# Access Grafana
open https://grafana.<YOUR-IP>.nip.io

# Login with default credentials (admin/prom-operator)
# Explore pre-configured dashboards for:
# - Kubernetes cluster metrics
# - Node exporter metrics
# - Application metrics

Use Database

# MariaDB (if enabled):
open https://phpmyadmin.<YOUR-IP>.nip.io

# PostgreSQL (if enabled):
open https://pgadmin.<YOUR-IP>.nip.io

# Credentials are in config.yml

πŸ’° Cost Estimation

Monthly costs (us-east-1 region):

Component Cost
t3.medium (2 vCPU, 4GB RAM) ~$30.37
50 GB gp3 volume ~$4.00
Elastic IP Free (while attached)
CloudWatch monitoring ~$7.00 (if enabled)
Data transfer Variable
Total (approx) ~$41-45/month

Cost Optimization Tips:

  • πŸ’‘ Use t4g.medium (ARM) for 20% savings: **$24.55/month**
  • πŸŒ™ Stop instances during off-hours for dev/test environments
  • πŸ“Š Disable detailed monitoring if not needed: save ~$7/month
  • πŸ”„ Use Spot Instances for non-production: save up to 70%

Compare to Managed Kubernetes:

  • AWS EKS: $73/month (control plane) + $30/month (node) = $103+/month
  • Savings: 60% less than managed Kubernetes

πŸ”§ Troubleshooting

Cannot Access Wizard

# Check wizard service status
ssh -i ~/.ssh/YOUR-KEY.pem ubuntu@<INSTANCE-IP>
sudo systemctl status wizard

# View logs
sudo journalctl -u wizard -f

Kubernetes Cluster Issues

# Check K3s status
sudo systemctl status k3s

# View K3s logs
sudo journalctl -u k3s -f

# Check cluster health
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes
kubectl get pods -A

πŸ“ž Support

Community Support

Professional Support

For enterprise support, training, and consulting:

About Digitalis.io

Digitalis.io specializes in cloud-native solutions, Kubernetes consulting, and DevOps transformation. We help organizations:

  • πŸš€ Adopt Kubernetes and containerization
  • πŸ“Š Implement observability and monitoring
  • πŸ”„ Establish CI/CD pipelines
  • πŸ”’ Secure cloud infrastructure
  • πŸ“ˆ Scale applications efficiently

About

Spin up a complete Kubernetes dev cluster in minutes., perfect for local testing and rapid prototyping.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages