eks-node-group
cloudposse/eks-node-group/aws
Terraform module to provision a fully managed AWS EKS Node Group
Terraform module to provision an EKS Managed Node Group for Elastic Kubernetes Service. Instantiate it multiple times to create EKS Managed Node Groups with specific settings such as GPUs, EC2 instance types, or autoscale parameters. IMPORTANT: When SSH access is enabled without specifying a source security group, this module provisions EKS Node Group nodes that are globally accessible by SSH (22) port. Normally, AWS recommends that no security group allows unrestricted ingress access to port 22 . > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick
| Name | Type | Description | Default |
|---|---|---|---|
| min_size | number | Minimum number of worker nodes | required |
| cluster_name | string | The name of the EKS cluster | required |
| desired_size | number | Initial desired number of worker nodes (external changes ignored) | required |
| ssh_access_security_group_ids | list(string) | Set of EC2 Security Group IDs to allow SSH access (port 22) to the worker nodes. | [] |
| associated_security_group_ids | list(string) | A list of IDs of Security Groups to associate the node group with, in addition t | [] |
| instance_types | list(string) | Instance types to use for this node group (up to 20). Defaults to ["t3.medium"]. | [
"t3.medium"
] |
| kubernetes_labels | map(string) | Key-value mapping of Kubernetes labels. Only labels that are applied with the EK | {} |
| userdata_override_base64 | list(string) | Many features of this module rely on the `bootstrap.sh` provided with Amazon Lin | [] |
| enabled | bool | Set to false to prevent the module from creating any resources | null |
| kubelet_additional_options | list(string) | Additional flags to pass to kubelet. DO NOT include `--node-labels` or `--node-t | [] |
| resources_to_tag | list(string) | List of auto-launched resource types to tag. Valid types are "instance", "volume | [
"instance",
"volume",
"network-i |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | null |
| environment | string | ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'st | null |
| attributes | list(string) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, | [] |
| block_device_map | map(object({ no_device | Map of block device name specification, see [launch_template.block-devices](http | {
"/dev/xvda": {
"ebs": {}
}
} |
| namespace | string | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp' | null |
| node_role_arn | list(string) | If provided, assign workers the given role, which this module will not modify | [] |
| ami_image_id | list(string) | AMI to use, overriding other AMI specifications, but must match `ami_type`. Igno | [] |
| capacity_type | string | Type of capacity associated with the EKS Node Group. Valid values: "ON_DEMAND", | null |
| kubernetes_version | list(string) | Kubernetes version. Defaults to EKS Cluster Kubernetes version. Terraform will o | [] |
| bootstrap_additional_options | list(string) | Additional options to bootstrap.sh. DO NOT include `--kubelet-additional-args`, | [] |
| node_group_terraform_timeouts | list(object({ create = opt | Configuration for the Terraform [`timeouts` Configuration Block](https://www.ter | [] |
| immediately_apply_lt_changes | bool | When `true`, any change to the launch template will be applied immediately. When | null |
| … and 10 more inputs | |||
eks_node_group_launch_template_id — The ID of the launch template used for this node groupeks_node_group_tags_all — A map of tags assigned to the resource, including those inherited from the provider default_tags coneks_node_group_ami_id — The ID of the AMI used for the worker nodes, if specifiedeks_node_group_role_arn — ARN of the worker nodes IAM roleeks_node_group_id — EKS Cluster name and EKS Node Group name separated by a coloneks_node_group_arn — Amazon Resource Name (ARN) of the EKS Node Groupeks_node_group_remote_access_security_group_id — The ID of the security group generated to allow SSH access to the nodes, if this module generated oneks_node_group_launch_template_name — The name of the launch template used for this node groupWARNING_cluster_autoscaler_enabled — WARNINGeks_node_group_role_name — Name of the worker nodes IAM roleeks_node_group_resources — List of objects containing information about underlying resources of the EKS Node Groupeks_node_group_status — Status of the EKS Node Groupeks_node_group_cbd_pet_name — The pet name of this node group, if this module generated oneAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,