Este repositorio es un modulo de Terraform para crear un cluster de Kubernetes para AWS (EKS). Puedes buscar mas informacion del proyecto en el directorio /docs.
module "cluster" {
source = "git@github.com:Secuoyas-Experience/sqy-tf-eks.git?ref=1.8.0"
cluster_name = "my-domain-es"
cluster_kubernetes_version = "1.29"
cluster_cidr = "10.0.0.0/16"
cluster_region = "eu-central-1"
cluster_azs = ["eu-central-1a", "eu-central-1b", "eu-central-1c"]
cluster_private_subnets = ["10.0.0.0/18", "10.0.64.0/18", "10.0.128.0/24"]
cluster_public_subnets = ["10.0.192.0/24", "10.0.193.0/24", "10.0.194.0/24"]
inception_min_size = 1
inception_max_size = 1
inception_desired_size = 1
environment = "dev"
organization = "my.domain.es"
}
A continuacion se muestra la documentacion de Terraform generada con Terraform Docs
Name | Version |
---|---|
terraform | >= 1.5 |
aws | ~> 5.67.0 |
helm | >=2.11.0 |
kubectl | ~> 2.0.4 |
kubernetes | ~> 2.24.0 |
Name | Version |
---|---|
aws | ~> 5.67.0 |
kubectl | ~> 2.0.4 |
Name | Source | Version |
---|---|---|
cluster_eks | terraform-aws-modules/eks/aws | 20.8.5 |
ebs_csi_driver_irsa | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~> 5.39.0 |
vpc | terraform-aws-modules/vpc/aws | 5.4.0 |
Name | Type |
---|---|
aws_iam_role.kube_admin_role | resource |
kubectl_manifest.snapshotter_controller | resource |
kubectl_manifest.snapshotter_crds | resource |
kubectl_manifest.snapshotter_rbac | resource |
aws_caller_identity.current | data source |
aws_iam_policy_document.assume_role_policy_document | data source |
aws_iam_policy_document.eks_read_policy_document | data source |
kubectl_file_documents.snapshotter_crds | data source |
kubectl_file_documents.snapshotter_deployment | data source |
kubectl_file_documents.snapshotter_rbac | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
access_entries | EKS access entries (https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) | any |
{} |
no |
cluster_azs | VPC azs | list(string) |
n/a | yes |
cluster_cidr | VPC cidr | string |
"10.0.0.0/16" |
no |
cluster_domains | Domain names handled by this cluster. Normally the NS domain name where ingresses are under (e.g dev.mycompany.com) | list(string) |
[] |
no |
cluster_domains_zones_arns | Zone arns. Should be provided by another resource. If you want this module to create them use cluster_domains variable | list(string) |
[] |
no |
cluster_enable_snapshotter | if true enables VolumeSnapshot API | bool |
false |
no |
cluster_kubernetes_version | Cluster kubernetes version | string |
"1.29" |
no |
cluster_name | AWS EKS cluster name | string |
n/a | yes |
cluster_node_security_group_additional_rules | security group rules between nodes | any |
{} |
no |
cluster_private_endpoint_enabled | if true enables private EKS endpoint | bool |
true |
no |
cluster_private_subnets | VPC private subnets. Normally used by nodes and pods | list(string) |
n/a | yes |
cluster_public_endpoint_enabled | if true enables public EKS endpoint | bool |
true |
no |
cluster_public_endpoint_whitelist_cidrs | network cidrs from which EKS endpoint is accessible. By default if enable is accessible from anywhere | list(string) |
[ |
no |
cluster_public_subnets | VPC public subnets. Normally used by the AWS load balancers to expose services | list(string) |
n/a | yes |
cluster_region | AWS region where the EKS cluster is located | string |
n/a | yes |
cluster_security_group_additional_rules | security group rules allowed to access EKS cluster (helpful for VPN rules) | any |
{} |
no |
environment | Type of environment (dev,stg,prod) | string |
n/a | yes |
inception_desired_size | number of desired cluster node group instances | number |
1 |
no |
inception_max_size | number of max cluster node group instances | number |
1 |
no |
inception_min_size | number of min cluster node group instances | number |
1 |
no |
inception_types | list of types of initial cluster node group instances | list(string) |
[ |
no |
organization | Organization the cluster is used for | string |
n/a | yes |
Name | Description |
---|---|
cluster_certificate_authority_data | n/a |
cluster_endpoint | n/a |
cluster_kubernetes_version | n/a |
cluster_name | n/a |
oidc_provider_arn | n/a |
vpc_azs | n/a |
vpc_id | n/a |
vpc_private_subnets | n/a |
vpc_private_subnets_cidr_blocks | n/a |
vpc_public_subnets | n/a |
vpc_public_subnets_cidr_blocks | n/a |