/terraform-kind

A bootstrap to bring up a lab environment for playing and testing kubernetes

Primary LanguageHCLApache License 2.0Apache-2.0

terraform-kind

A bootstrap to bring up a lab environment for playing and testing kubernetes.

What's needed?

  • Terraform installed
  • Helm installed
  • Docker installed
  • Kubectl

How To use:

  • Just instance the module in a terraform file.
    module "terrafom-kind" {
        source = "github.com/smoothzz/terraform-kind"
    }
  • Run terraform init
  • You can pass variables to enable or disable extra helms, just set it to false or true.
module "terraform-kind" {
    source = "github.com/smoothzz/terraform-kind"

    cert-manager = false
    keda         = true
    monitoring   = false
}
  • Then terraform apply
  • After the terraform complete, just export the kubeconfig
    export KUBECONFIG=~/kind/config

This will bring up a cluster with the following specs:

  • Control Plane
  • Work Node
  • MetalLB
  • Ingress Nginx with already configured loadbalancer with the ip provided from metalLB.

Todo:

  • Get the ip to configInline.address-pools[0].addresses[0] dynamic.
  • More Helm applications with the option to enable and disable.
    • cert-manager
    • keda
    • prometheus-stack (monitoring tool)
    • If ya have any app to include just open a pr or suggest it in the issues.