This commit is contained in:
2025-07-24 13:10:12 -05:00
parent 18647902d4
commit adc0d0a7bb
6 changed files with 1150 additions and 921 deletions

View File

@@ -1,6 +1,6 @@
// AWS Load Balancer Controller
resource "aws_iam_role" "aws-load-balancer-controller" {
name = "aws-load-balancer-controller"
resource "aws_iam_role" "aws_load_balancer_controller" {
name = "${var.cluster_name}-aws-load-balancer-controller-role"
assume_role_policy = jsonencode({
Version = "2012-10-17",
@@ -22,10 +22,7 @@ resource "aws_iam_role" "aws-load-balancer-controller" {
}
resource "aws_iam_policy" "AWSLoadBalancerControllerIAMPolicy" {
name = "AWSLoadBalancerControllerIAMPolicy"
// policy =
// file("${path.module}/aws-load-balancer-controller-iam-policy.json")
name = "${var.cluster_name}-AWSLoadBalancerControllerIAMPolicy"
policy = <<POLICY
{
@@ -282,14 +279,14 @@ resource "aws_iam_policy" "AWSLoadBalancerControllerIAMPolicy" {
POLICY
}
resource "aws_iam_role_policy_attachment" "aws-load-balancer-controller" {
role = aws_iam_role.aws-load-balancer-controller.name
resource "aws_iam_role_policy_attachment" "aws_load_balancer_controller" {
role = aws_iam_role.aws_load_balancer_controller.name
policy_arn = aws_iam_policy.AWSLoadBalancerControllerIAMPolicy.arn
}
// Cluster Autoscaler
resource "aws_iam_role" "cluster-autoscaler" {
name = "aws-cluster-autoscaler"
resource "aws_iam_role" "cluster_autoscaler" {
name = "${var.cluster_name}-aws-cluster-autoscaler-role"
assume_role_policy = jsonencode({
Version = "2012-10-17",
@@ -311,7 +308,7 @@ resource "aws_iam_role" "cluster-autoscaler" {
}
resource "aws_iam_policy" "ClusterAutoscalerIAMPolicy" {
name = "ClusterAutoscalerIAMPolicy"
name = "${var.cluster_name}-ClusterAutoscalerIAMPolicy"
policy = <<POLICY
{
@@ -342,14 +339,14 @@ resource "aws_iam_policy" "ClusterAutoscalerIAMPolicy" {
POLICY
}
resource "aws_iam_role_policy_attachment" "cluster-autoscaler" {
role = aws_iam_role.cluster-autoscaler.name
resource "aws_iam_role_policy_attachment" "cluster_autoscaler" {
role = aws_iam_role.cluster_autoscaler.name
policy_arn = aws_iam_policy.ClusterAutoscalerIAMPolicy.arn
}
// External DNS
resource "aws_iam_role" "external-dns" {
name = "external-dns"
resource "aws_iam_role" "external_dns" {
name = "${var.cluster_name}-external-dns-role"
assume_role_policy = jsonencode({
Version = "2012-10-17",
@@ -371,7 +368,7 @@ resource "aws_iam_role" "external-dns" {
}
resource "aws_iam_policy" "AllowExternalDNSUpdates" {
name = "AllowExternalDNSUpdates"
name = "${var.cluster_name}-AllowExternalDNSUpdates"
policy = <<POLICY
{
@@ -402,7 +399,7 @@ resource "aws_iam_policy" "AllowExternalDNSUpdates" {
POLICY
}
resource "aws_iam_role_policy_attachment" "external-dns" {
role = aws_iam_role.external-dns.name
resource "aws_iam_role_policy_attachment" "external_dns" {
role = aws_iam_role.external_dns.name
policy_arn = aws_iam_policy.AllowExternalDNSUpdates.arn
}

View File

@@ -1,10 +1,10 @@
module "eks" {
source = "terraform-aws-modules/eks/aws"
cluster_name = var.cluster_name
cluster_version = var.cluster_version
name = var.cluster_name
kubernetes_version = var.cluster_version
cluster_addons = {
addons = {
coredns = {}
eks-pod-identity-agent = {}
kube-proxy = {}
@@ -31,10 +31,14 @@ module "eks" {
min_size = var.min_size
max_size = var.max_size
desired_size = var.desired_size
metadata_options = {
http_put_response_hop_limit = 2
}
}
}
cluster_endpoint_public_access = true
cluster_endpoint_private_access = true
endpoint_public_access = true
endpoint_private_access = true
enable_cluster_creator_admin_permissions = true
}