mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-01-15 16:23:58 +01:00
Self Managed Node Groups Example
Configuration in this directory creates an AWS EKS cluster with various Self Managed Node Groups (AutoScaling Groups) demonstrating the various methods of configuring/customizing:
- A default, "out of the box" self managed node group as supplied by the
self-managed-node-groupsub-module - A Bottlerocket self managed node group that demonstrates many of the configuration/customizations offered by the
self-manged-node-groupsub-module for the Bottlerocket OS - A self managed node group that demonstrates nearly all of the configurations/customizations offered by the
self-managed-node-groupsub-module
See the AWS documentation for further details.
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 | >= 0.13.1 |
| aws | >= 3.72 |
| null | >= 3.0 |
| tls | >= 2.2 |
Providers
| Name | Version |
|---|---|
| aws | >= 3.72 |
| null | >= 3.0 |
| tls | >= 2.2 |
Modules
| Name | Source | Version |
|---|---|---|
| eks | ../.. | n/a |
| vpc | terraform-aws-modules/vpc/aws | ~> 3.0 |
Resources
| Name | Type |
|---|---|
| aws_key_pair.this | resource |
| aws_kms_key.ebs | resource |
| aws_kms_key.eks | resource |
| aws_security_group.additional | resource |
| null_resource.apply | resource |
| tls_private_key.this | resource |
| aws_ami.eks_default | data source |
| aws_ami.eks_default_bottlerocket | data source |
| aws_caller_identity.current | data source |
| aws_eks_cluster_auth.this | data source |
| aws_iam_policy_document.ebs | 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 name/id of the EKS cluster. Will block on cluster creation until the cluster is really ready |
| cluster_identity_providers | Map of attribute maps for all EKS identity providers enabled |
| 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_primary_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_security_group_arn | Amazon Resource Name (ARN) of the cluster security group |
| cluster_security_group_id | ID of the cluster security group |
| cluster_status | Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED |
| eks_managed_node_groups | Map of attribute maps for all EKS managed node groups created |
| fargate_profiles | Map of attribute maps for all EKS Fargate Profiles created |
| node_security_group_arn | Amazon Resource Name (ARN) of the node shared security group |
| node_security_group_id | ID of the node shared security group |
| 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 |