Skip to content

Latest commit

 

History

History
107 lines (89 loc) · 8.35 KB

File metadata and controls

107 lines (89 loc) · 8.35 KB

Complete AWS EKS Cluster

Configuration in this directory creates an AWS EKS cluster with a broad mix of various features and settings provided by this module:

  • AWS EKS cluster
  • Disabled EKS cluster
  • Self managed node group
  • Externally attached self managed node group
  • Disabled self managed node group
  • EKS managed node group
  • Externally attached EKS managed node group
  • Disabled self managed node group
  • Fargate profile
  • Externally attached Fargate profile
  • Disabled Fargate profile
  • Cluster addons: CoreDNS, Kube-Proxy, and VPC-CNI
  • IAM roles for service accounts

Usage

To run this example you need to execute:

$ terraform init
$ terraform plan
$ terraform apply

Note that this example may create resources which cost money. Run terraform destroy when you don't need these resources.

Requirements

Name Version
terraform >= 1.0
aws >= 4.47
kubernetes >= 2.10

Providers

Name Version
aws >= 4.47

Modules

Name Source Version
disabled_eks ../.. n/a
disabled_eks_managed_node_group ../../modules/eks-managed-node-group n/a
disabled_fargate_profile ../../modules/fargate-profile n/a
disabled_self_managed_node_group ../../modules/self-managed-node-group n/a
eks ../.. n/a
eks_managed_node_group ../../modules/eks-managed-node-group n/a
fargate_profile ../../modules/fargate-profile n/a
kms terraform-aws-modules/kms/aws ~> 1.5
self_managed_node_group ../../modules/self-managed-node-group n/a
vpc terraform-aws-modules/vpc/aws ~> 4.0

Resources

Name Type
aws_iam_policy.additional resource
aws_security_group.additional resource
aws_availability_zones.available data source
aws_caller_identity.current data source

Inputs

No inputs.

Outputs

Name Description
aws_auth_configmap_yaml Formatted yaml output for base aws-auth configmap containing roles used in cluster node groups/fargate profiles
cloudwatch_log_group_arn Arn of cloudwatch log group created
cloudwatch_log_group_name Name of cloudwatch log group created
cluster_addons Map of attribute maps for all EKS cluster addons enabled
cluster_arn The Amazon Resource Name (ARN) of the cluster
cluster_certificate_authority_data Base64 encoded certificate data required to communicate with the cluster
cluster_endpoint Endpoint for your Kubernetes API server
cluster_iam_role_arn IAM role ARN of the EKS cluster
cluster_iam_role_name IAM role name of the EKS cluster
cluster_iam_role_unique_id Stable and unique string identifying the IAM role
cluster_id The ID of the EKS cluster. Note: currently a value is returned only for local EKS clusters created on Outposts
cluster_identity_providers Map of attribute maps for all EKS identity providers enabled
cluster_name The name of the EKS cluster
cluster_oidc_issuer_url The URL on the EKS cluster for the OpenID Connect identity provider
cluster_platform_version Platform version for the cluster
cluster_security_group_arn Amazon Resource Name (ARN) of the cluster security group
cluster_security_group_id Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. Referred to as 'Cluster security group' in the EKS console
cluster_status Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED
cluster_tls_certificate_sha1_fingerprint The SHA1 fingerprint of the public key of the cluster's certificate
eks_managed_node_groups Map of attribute maps for all EKS managed node groups created
eks_managed_node_groups_autoscaling_group_names List of the autoscaling group names created by EKS managed node groups
fargate_profiles Map of attribute maps for all EKS Fargate Profiles created
kms_key_arn The Amazon Resource Name (ARN) of the key
kms_key_id The globally unique identifier for the key
kms_key_policy The IAM resource policy set on the key
oidc_provider The OpenID Connect identity provider (issuer URL without leading https://)
oidc_provider_arn The ARN of the OIDC Provider if enable_irsa = true
self_managed_node_groups Map of attribute maps for all self managed node groups created
self_managed_node_groups_autoscaling_group_names List of the autoscaling group names created by self-managed node groups