Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avidhara/terraform-aws-eks-node-group
Terraform module for EKS managed Node Group
https://github.com/avidhara/terraform-aws-eks-node-group
aws eks terraform terraform-module
Last synced: 18 days ago
JSON representation
Terraform module for EKS managed Node Group
- Host: GitHub
- URL: https://github.com/avidhara/terraform-aws-eks-node-group
- Owner: avidhara
- Created: 2020-06-10T04:27:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-04-04T06:55:35.000Z (almost 2 years ago)
- Last Synced: 2024-11-14T23:28:22.121Z (3 months ago)
- Topics: aws, eks, terraform, terraform-module
- Language: HCL
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Terraform IAC for AWS EKS node Group
## Prerequisites
- Terraform 0.12.x
- aws cli## Usage
```hcl
module "examplenodgroup" {
source = "git::https://github.com/foss-cafe/terraform-aws-eks-node-group.git"
create_node_group = true
cluster_name = "Example"
node_group_name = "testgroup"
k8s_version = 1.14
node_role_arn = "arn:aws:iam::xxx:role/xxxxeks-node-iam-role"
scaling_config = {
"desired_size" = 1
"max_size" = 1
"min_size" = 1
}
subnet_ids = ["subnet-xxxx", "subnet-yyyy", "subnet-zzzz"]
additional_tags = {
Environment = "dev"
}
}```
## Requirements
| Name | Version |
|------|---------|
| terraform | ~> 0.12.24 |
| aws | ~> 2.60 |## Providers
| Name | Version |
|------|---------|
| aws | ~> 2.60 |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| additional\_tags | n/a | `map(string)` |{| no |
"createdby": "devops"
}
| ami\_type | Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to AL2\_x86\_64. Valid values: AL2\_x86\_64, AL2\_x86\_64\_GPU. | `string` | `"AL2_x86_64"` | no |
| cluster\_name | Name of the EKS Cluster | `string` | `"example-dev"` | no |
| create\_node\_group | Do you want to create Node Group | `bool` | `true` | no |
| disk\_size | Disk size in GiB for worker nodes. Defaults to 40. Terraform will only perform drift detection if a configuration value is provided | `number` | `40` | no |
| instance\_types | Set of instance types associated with the EKS Node Group. Defaults to ["t3.medium"] | `list` |[| no |
"t2.medium"
]
| k8s\_version | Kubernetes version. Defaults to EKS Cluster Kubernetes version. Terraform will only perform drift detection if a configuration value is provided. | `string` | `"1.14"` | no |
| labels | Key-value mapping of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. | `map(string)` |{| no |
"node_group": "dev"
}
| node\_group\_name | Name of the Node Group | `string` | `"example"` | no |
| node\_role\_arn | Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group. | `string` | `"arn:aws:iam::xxx:role/xxxxeks-node-iam-role"` | no |
| release\_version | AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version | `string` | `"1.17.9-20200723"` | no |
| remote\_access | Configuration block with remote access settings | `map` |{| no |
"ec2_ssh_key": null,
"source_security_group_ids": null
}
| scaling\_config | Configuration block with scaling settings | `map(string)` |{| no |
"desired_size": 1,
"max_size": 1,
"min_size": 1
}
| subnet\_ids | Identifiers of EC2 Subnets to associate with the EKS Node Group. | `list` |[| no |
"subnet-xxxx",
"subnet-xxxx",
"subnet-xxx"
]## Outputs
| Name | Description |
|------|-------------|
| arn | Amazon Resource Name (ARN) of the EKS Node Group. |
| id | EKS Cluster name and EKS Node Group name separated by a colon |
| resources\_autoscaling\_groups | List of objects containing information about AutoScaling Groups |
| resources\_autoscaling\_groups\_remote\_access\_security\_group\_id | Identifier of the remote access EC2 Security Group |
| status | Status of the EKS Node Group |