Skip to content

paulofponciano/eks-auto-mode

Repository files navigation

Terraform AWS Kubernetes

EKS Auto Mode

  • To use spot instances, add to deployment:

    ...
    nodeSelector:
      capacity-type: spot
    tolerations:
    - key: "general-purpose-spot"
      effect: "NoSchedule"

Requirements

Name Version
aws ~> 5.80.0
helm ~> 2.16.1
kubectl ~> 1.17.0
kubernetes ~> 2.34.0
tls ~> 4.0.6

Providers

Name Version
aws 5.80.0
helm 2.16.1
kubectl 1.17.0
time 0.12.1
tls 4.0.6

Modules

No modules.

Resources

Name Type
aws_eip.vpc_iep_1 resource
aws_eip.vpc_iep_2 resource
aws_eks_access_entry.owner resource
aws_eks_access_policy_association.AmazonEKSClusterAdminPolicy resource
aws_eks_cluster.eks_auto_mode resource
aws_iam_openid_connect_provider.eks resource
aws_iam_role.cluster resource
aws_iam_role.node resource
aws_iam_role_policy_attachment.cluster_AmazonEKSBlockStoragePolicy resource
aws_iam_role_policy_attachment.cluster_AmazonEKSClusterPolicy resource
aws_iam_role_policy_attachment.cluster_AmazonEKSComputePolicy resource
aws_iam_role_policy_attachment.cluster_AmazonEKSLoadBalancingPolicy resource
aws_iam_role_policy_attachment.cluster_AmazonEKSNetworkingPolicy resource
aws_iam_role_policy_attachment.node_AmazonEC2ContainerRegistryPullOnly resource
aws_iam_role_policy_attachment.node_AmazonEKSWorkerNodeMinimalPolicy resource
aws_internet_gateway.gw resource
aws_kms_alias.eks resource
aws_kms_key.eks resource
aws_nat_gateway.nat_az1 resource
aws_nat_gateway.nat_az2 resource
aws_route.nat_access_az1 resource
aws_route.nat_access_az2 resource
aws_route.public_internet_access resource
aws_route_table.igw_route_table resource
aws_route_table.nat_az1 resource
aws_route_table.nat_az2 resource
aws_route_table_association.private_az1 resource
aws_route_table_association.private_az2 resource
aws_route_table_association.public_az1 resource
aws_route_table_association.public_az2 resource
aws_subnet.private_subnet_az1 resource
aws_subnet.private_subnet_az2 resource
aws_subnet.public_subnet_az1 resource
aws_subnet.public_subnet_az2 resource
aws_vpc.cluster_vpc resource
helm_release.istio_base resource
helm_release.istio_ingress resource
helm_release.istiod resource
kubectl_manifest.karpenter-nodepool-custom-spot resource
time_sleep.wait_60_warmup_first_node resource
aws_caller_identity.current data source
aws_eks_cluster_auth.default data source
tls_certificate.eks data source

Inputs

Name Description Type Default Required
aws_region The AWS region where the resources will be deployed. string n/a yes
az1 The first availability zone for the deployment. string n/a yes
az2 The second availability zone for the deployment. string n/a yes
certificate_arn ACM Certificate. string false no
cluster_name The name of the Kubernetes cluster. string n/a yes
cluster_role_or_user_arn_access_entry List of User or Role ARNs to add as IAM entries for cluster access (API). list(string)
[
"arn:aws:iam::ACCOUNT_ID:user/USER1"
]
no
create_cluster_access_entry Create additional access entries. bool false no
enabled_cluster_log_types Control Plane Logging. list(string) n/a yes
endpoint_private_access Enable or disable private access to the Kubernetes API server. Use 'true' or 'false'. string n/a yes
endpoint_public_access Enable or disable public access to the Kubernetes API server. Use 'true' or 'false'. string n/a yes
istio_ingress_enabled Defines whether Istio ingress will be enabled. bool false no
istio_nlb_ingress_scheme Defines whether the NLB for the Istio ingress will be internal or internet-facing. string "internet-facing" no
istio_version Istio version. string "1.23" no
k8s_version The Kubernetes version to use for the cluster. string n/a yes
private_subnet_az1_cidr The CIDR block for the private subnet in the first availability zone. string n/a yes
private_subnet_az2_cidr The CIDR block for the private subnet in the second availability zone. string n/a yes
public_subnet_az1_cidr The CIDR block for the public subnet in the first availability zone. string n/a yes
public_subnet_az2_cidr The CIDR block for the public subnet in the second availability zone. string n/a yes
tags AWS tags to be added to all resources created. map(string) n/a yes
vpc_cidr The CIDR block for the VPC. string n/a yes

Outputs

Name Description
account_id n/a
cluster_name n/a

About

Amazon EKS with Auto Mode and VPC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages