mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-01-14 15:53:59 +01:00
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.1.0 |
| self_managed_node_group | ../../modules/self-managed-node-group | n/a |
| vpc | terraform-aws-modules/vpc/aws | ~> 3.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 |