Skip to content
Snippets Groups Projects
Select Git revision
  • f9ff41320ffbaea14f96a06ed514dceb80761885
  • master default protected
  • v1.14.7
  • v1.14.6
  • v1.14.5
  • v1.14.4
  • v1.14.3
  • v1.14.2
  • v1.14.1
  • v1.14.0
  • v1.13.2
  • v1.13.1
  • v1.13.0
  • v1.12.1
  • v1.12.0
  • v1.11.1
  • v1.11.0
  • v1.10.0
  • v1.9.2
  • v1.9.1
  • v1.9.0
  • v1.8.4
22 results

README-idrange.md

Blame
  • main.tf NaN GiB
    resource "aws_vpc" "cluster-vpc" {
      cidr_block = var.aws_vpc_cidr_block
    
      #DNS Related Entries
      enable_dns_support   = true
      enable_dns_hostnames = true
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-vpc"
      ))
    }
    
    resource "aws_eip" "cluster-nat-eip" {
      count = length(var.aws_cidr_subnets_public)
      vpc   = true
    }
    
    resource "aws_internet_gateway" "cluster-vpc-internetgw" {
      vpc_id = aws_vpc.cluster-vpc.id
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-internetgw"
      ))
    }
    
    resource "aws_subnet" "cluster-vpc-subnets-public" {
      vpc_id            = aws_vpc.cluster-vpc.id
      count             = length(var.aws_avail_zones)
      availability_zone = element(var.aws_avail_zones, count.index)
      cidr_block        = element(var.aws_cidr_subnets_public, count.index)
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-${element(var.aws_avail_zones, count.index)}-public",
        "kubernetes.io/cluster/${var.aws_cluster_name}", "member"
      ))
    }
    
    resource "aws_nat_gateway" "cluster-nat-gateway" {
      count         = length(var.aws_cidr_subnets_public)
      allocation_id = element(aws_eip.cluster-nat-eip.*.id, count.index)
      subnet_id     = element(aws_subnet.cluster-vpc-subnets-public.*.id, count.index)
    }
    
    resource "aws_subnet" "cluster-vpc-subnets-private" {
      vpc_id            = aws_vpc.cluster-vpc.id
      count             = length(var.aws_avail_zones)
      availability_zone = element(var.aws_avail_zones, count.index)
      cidr_block        = element(var.aws_cidr_subnets_private, count.index)
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-${element(var.aws_avail_zones, count.index)}-private"
      ))
    }
    
    #Routing in VPC
    
    #TODO: Do we need two routing tables for each subnet for redundancy or is one enough?
    
    resource "aws_route_table" "kubernetes-public" {
      vpc_id = aws_vpc.cluster-vpc.id
    
      route {
        cidr_block = "0.0.0.0/0"
        gateway_id = aws_internet_gateway.cluster-vpc-internetgw.id
      }
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-routetable-public"
      ))
    }
    
    resource "aws_route_table" "kubernetes-private" {
      count  = length(var.aws_cidr_subnets_private)
      vpc_id = aws_vpc.cluster-vpc.id
    
      route {
        cidr_block     = "0.0.0.0/0"
        nat_gateway_id = element(aws_nat_gateway.cluster-nat-gateway.*.id, count.index)
      }
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-routetable-private-${count.index}"
      ))
    }
    
    resource "aws_route_table_association" "kubernetes-public" {
      count          = length(var.aws_cidr_subnets_public)
      subnet_id      = element(aws_subnet.cluster-vpc-subnets-public.*.id, count.index)
      route_table_id = aws_route_table.kubernetes-public.id
    }
    
    resource "aws_route_table_association" "kubernetes-private" {
      count          = length(var.aws_cidr_subnets_private)
      subnet_id      = element(aws_subnet.cluster-vpc-subnets-private.*.id, count.index)
      route_table_id = element(aws_route_table.kubernetes-private.*.id, count.index)
    }
    
    #Kubernetes Security Groups
    
    resource "aws_security_group" "kubernetes" {
      name   = "kubernetes-${var.aws_cluster_name}-securitygroup"
      vpc_id = aws_vpc.cluster-vpc.id
    
      tags = merge(var.default_tags, map(
        "Name", "kubernetes-${var.aws_cluster_name}-securitygroup"
      ))
    }
    
    resource "aws_security_group_rule" "allow-all-ingress" {
      type              = "ingress"
      from_port         = 0
      to_port           = 65535
      protocol          = "-1"
      cidr_blocks       = [var.aws_vpc_cidr_block]
      security_group_id = aws_security_group.kubernetes.id
    }
    
    resource "aws_security_group_rule" "allow-all-egress" {
      type              = "egress"
      from_port         = 0
      to_port           = 65535
      protocol          = "-1"
      cidr_blocks       = ["0.0.0.0/0"]
      security_group_id = aws_security_group.kubernetes.id
    }
    
    resource "aws_security_group_rule" "allow-ssh-connections" {
      type              = "ingress"
      from_port         = 22
      to_port           = 22
      protocol          = "TCP"
      cidr_blocks       = ["0.0.0.0/0"]
      security_group_id = aws_security_group.kubernetes.id
    }