mirror of https://github.com/kubernetes/kops.git
200 lines
7.9 KiB
HCL
200 lines
7.9 KiB
HCL
locals {
|
|
cluster_name = "lifecyclephases.example.com"
|
|
region = "us-test-1"
|
|
route_table_private-us-test-1a_id = aws_route_table.private-us-test-1a-lifecyclephases-example-com.id
|
|
route_table_public_id = aws_route_table.lifecyclephases-example-com.id
|
|
subnet_us-test-1a_id = aws_subnet.us-test-1a-lifecyclephases-example-com.id
|
|
subnet_utility-us-test-1a_id = aws_subnet.utility-us-test-1a-lifecyclephases-example-com.id
|
|
vpc_cidr_block = aws_vpc.lifecyclephases-example-com.cidr_block
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
vpc_ipv6_cidr_block = aws_vpc.lifecyclephases-example-com.ipv6_cidr_block
|
|
vpc_ipv6_cidr_length = local.vpc_ipv6_cidr_block == "" ? null : tonumber(regex(".*/(\\d+)", local.vpc_ipv6_cidr_block)[0])
|
|
}
|
|
|
|
output "cluster_name" {
|
|
value = "lifecyclephases.example.com"
|
|
}
|
|
|
|
output "region" {
|
|
value = "us-test-1"
|
|
}
|
|
|
|
output "route_table_private-us-test-1a_id" {
|
|
value = aws_route_table.private-us-test-1a-lifecyclephases-example-com.id
|
|
}
|
|
|
|
output "route_table_public_id" {
|
|
value = aws_route_table.lifecyclephases-example-com.id
|
|
}
|
|
|
|
output "subnet_us-test-1a_id" {
|
|
value = aws_subnet.us-test-1a-lifecyclephases-example-com.id
|
|
}
|
|
|
|
output "subnet_utility-us-test-1a_id" {
|
|
value = aws_subnet.utility-us-test-1a-lifecyclephases-example-com.id
|
|
}
|
|
|
|
output "vpc_cidr_block" {
|
|
value = aws_vpc.lifecyclephases-example-com.cidr_block
|
|
}
|
|
|
|
output "vpc_id" {
|
|
value = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
output "vpc_ipv6_cidr_block" {
|
|
value = aws_vpc.lifecyclephases-example-com.ipv6_cidr_block
|
|
}
|
|
|
|
output "vpc_ipv6_cidr_length" {
|
|
value = local.vpc_ipv6_cidr_block == "" ? null : tonumber(regex(".*/(\\d+)", local.vpc_ipv6_cidr_block)[0])
|
|
}
|
|
|
|
provider "aws" {
|
|
region = "us-test-1"
|
|
}
|
|
|
|
resource "aws_eip" "us-test-1a-lifecyclephases-example-com" {
|
|
domain = "vpc"
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "us-test-1a.lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
}
|
|
}
|
|
|
|
resource "aws_internet_gateway" "lifecyclephases-example-com" {
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
}
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_nat_gateway" "us-test-1a-lifecyclephases-example-com" {
|
|
allocation_id = aws_eip.us-test-1a-lifecyclephases-example-com.id
|
|
subnet_id = aws_subnet.utility-us-test-1a-lifecyclephases-example-com.id
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "us-test-1a.lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
}
|
|
}
|
|
|
|
resource "aws_route" "route-0-0-0-0--0" {
|
|
destination_cidr_block = "0.0.0.0/0"
|
|
gateway_id = aws_internet_gateway.lifecyclephases-example-com.id
|
|
route_table_id = aws_route_table.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_route" "route-__--0" {
|
|
destination_ipv6_cidr_block = "::/0"
|
|
gateway_id = aws_internet_gateway.lifecyclephases-example-com.id
|
|
route_table_id = aws_route_table.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_route" "route-private-us-test-1a-0-0-0-0--0" {
|
|
destination_cidr_block = "0.0.0.0/0"
|
|
nat_gateway_id = aws_nat_gateway.us-test-1a-lifecyclephases-example-com.id
|
|
route_table_id = aws_route_table.private-us-test-1a-lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_route_table" "lifecyclephases-example-com" {
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
"kubernetes.io/kops/role" = "public"
|
|
}
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_route_table" "private-us-test-1a-lifecyclephases-example-com" {
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "private-us-test-1a.lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
"kubernetes.io/kops/role" = "private-us-test-1a"
|
|
}
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_route_table_association" "private-us-test-1a-lifecyclephases-example-com" {
|
|
route_table_id = aws_route_table.private-us-test-1a-lifecyclephases-example-com.id
|
|
subnet_id = aws_subnet.us-test-1a-lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_route_table_association" "utility-us-test-1a-lifecyclephases-example-com" {
|
|
route_table_id = aws_route_table.lifecyclephases-example-com.id
|
|
subnet_id = aws_subnet.utility-us-test-1a-lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_subnet" "us-test-1a-lifecyclephases-example-com" {
|
|
availability_zone = "us-test-1a"
|
|
cidr_block = "172.20.32.0/19"
|
|
enable_resource_name_dns_a_record_on_launch = true
|
|
private_dns_hostname_type_on_launch = "resource-name"
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "us-test-1a.lifecyclephases.example.com"
|
|
"SubnetType" = "Private"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
"kubernetes.io/role/internal-elb" = "1"
|
|
}
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_subnet" "utility-us-test-1a-lifecyclephases-example-com" {
|
|
availability_zone = "us-test-1a"
|
|
cidr_block = "172.20.4.0/22"
|
|
enable_resource_name_dns_a_record_on_launch = true
|
|
private_dns_hostname_type_on_launch = "resource-name"
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "utility-us-test-1a.lifecyclephases.example.com"
|
|
"SubnetType" = "Utility"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
"kubernetes.io/role/elb" = "1"
|
|
}
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
resource "aws_vpc" "lifecyclephases-example-com" {
|
|
assign_generated_ipv6_cidr_block = true
|
|
cidr_block = "172.20.0.0/16"
|
|
enable_dns_hostnames = true
|
|
enable_dns_support = true
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
}
|
|
}
|
|
|
|
resource "aws_vpc_dhcp_options" "lifecyclephases-example-com" {
|
|
domain_name = "us-test-1.compute.internal"
|
|
domain_name_servers = ["AmazonProvidedDNS"]
|
|
tags = {
|
|
"KubernetesCluster" = "lifecyclephases.example.com"
|
|
"Name" = "lifecyclephases.example.com"
|
|
"kubernetes.io/cluster/lifecyclephases.example.com" = "owned"
|
|
}
|
|
}
|
|
|
|
resource "aws_vpc_dhcp_options_association" "lifecyclephases-example-com" {
|
|
dhcp_options_id = aws_vpc_dhcp_options.lifecyclephases-example-com.id
|
|
vpc_id = aws_vpc.lifecyclephases-example-com.id
|
|
}
|
|
|
|
terraform {
|
|
required_version = ">= 0.15.0"
|
|
required_providers {
|
|
aws = {
|
|
"source" = "hashicorp/aws"
|
|
"version" = ">= 5.0.0"
|
|
}
|
|
}
|
|
}
|