mirror of
https://github.com/kerberos-io/deployment.git
synced 2026-08-23 15:18:32 +00:00
71 lines
2.0 KiB
HCL
71 lines
2.0 KiB
HCL
###############################################################################
|
|
# EKS
|
|
###############################################################################
|
|
|
|
module "eks" {
|
|
source = "terraform-aws-modules/eks/aws"
|
|
version = "~> 20.31"
|
|
|
|
cluster_name = local.name
|
|
cluster_version = var.kubernetes_version
|
|
|
|
cluster_endpoint_public_access = var.cluster_endpoint_public_access
|
|
cluster_endpoint_public_access_cidrs = var.cluster_endpoint_public_access_cidrs
|
|
|
|
# Give the identity running `terraform apply` cluster-admin, so that
|
|
# `aws eks update-kubeconfig` immediately works.
|
|
enable_cluster_creator_admin_permissions = true
|
|
|
|
vpc_id = module.vpc.vpc_id
|
|
subnet_ids = module.vpc.private_subnets
|
|
|
|
cluster_addons = {
|
|
coredns = {}
|
|
kube-proxy = {}
|
|
vpc-cni = {}
|
|
eks-pod-identity-agent = {}
|
|
aws-ebs-csi-driver = {
|
|
service_account_role_arn = module.ebs_csi_irsa.iam_role_arn
|
|
}
|
|
}
|
|
|
|
eks_managed_node_groups = {
|
|
default = {
|
|
instance_types = var.node_instance_types
|
|
capacity_type = "ON_DEMAND"
|
|
|
|
min_size = var.node_min_size
|
|
max_size = var.node_max_size
|
|
desired_size = var.node_desired_size
|
|
|
|
disk_size = var.node_disk_size
|
|
}
|
|
}
|
|
|
|
tags = local.tags
|
|
}
|
|
|
|
###############################################################################
|
|
# EBS CSI driver
|
|
#
|
|
# Kerberos Hub's supporting components (RabbitMQ, VerneMQ, MinIO, ...) claim
|
|
# persistent volumes, so the cluster needs a working CSI driver.
|
|
###############################################################################
|
|
|
|
module "ebs_csi_irsa" {
|
|
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
|
|
version = "~> 5.44"
|
|
|
|
role_name = "${local.name}-ebs-csi"
|
|
attach_ebs_csi_policy = true
|
|
|
|
oidc_providers = {
|
|
main = {
|
|
provider_arn = module.eks.oidc_provider_arn
|
|
namespace_service_accounts = ["kube-system:ebs-csi-controller-sa"]
|
|
}
|
|
}
|
|
|
|
tags = local.tags
|
|
}
|