Skip to content

ik-workshop/workshop-aws-kubernetes

Repository files navigation

Workshop Kubernetes

Kubernetes Reference Architecture

This repository contains rather complete infrastructure configurations where Terragrunt is used to manage infrastructure for Kubernetes Workshop.

Where infrastructrue currently deployed

Publications

Prerequisits

Quick start

  1. Install Terraform 0.12 or newer
  2. Install Terragrunt 0.19 or newer
  3. Install KubeCtl
  4. Optionally, install pre-commit hooks to keep Terraform formatting and documentation up-to-date.

If you are using macOS you can install all dependencies using Homebrew:

$ brew bundle

Configure access to AWS account

Create and manage your infrastructure

Navigate through layers to review and customize values inside inputs block.

There are two ways to manage infrastructure (slower&complete, or faster&granular):

  • Region as a whole (slower&complete). Run this command to create infrastructure in all layers in a single region:
$ cd master/us-east-1
$ terragrunt apply-all
  • As a single layer (faster&granular). Run this command to create infrastructure in a single layer (eg, rds_2):
$ cd master/us-east-1/vpc
$ terragrunt apply

How to destroy

$ cd master/us-east-1
$ terragrunt destroy-all

Technical overview

Why infrastructure deployed into a N.Virginia|us-east-1?

To make sure all the services are fully supported.

Why using terragrunt instead of vanilla Terraform?

Most of the advantages described in this article

IS there is any reference infrastructure with Terragrunt?

Here Documentation

What is the thumbprint for us-east-1 region?

9e99a48a9960b14926bb7f3b02e22da2b0ab7280

Commands

$ make help
setup                          Setup dependencies
hooks                          install pre commit.
validate                       Validate files with pre-commit hooks
changelog                      Update changelog
release                        Create release version
create                         Deploy multiple Terraform modules in a single command
destroy                        Undeploy all the Terraform modules
kubeconfig                     Pull kubeconfig credentials for the cluster