mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-03-24 18:31:09 +01:00
Fix for "" AMI ID error in PR 115 (#117)
* Fix for "" AMI ID * update changelog
This commit is contained in:
@@ -9,14 +9,13 @@ project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- A useful addition (slam dunk, @self 🔥)
|
|
||||||
- add support for [`amazon-eks-node-*` AMI with bootstrap script](https://aws.amazon.com/blogs/opensource/improvements-eks-worker-node-provisioning/) (by @erks)
|
- add support for [`amazon-eks-node-*` AMI with bootstrap script](https://aws.amazon.com/blogs/opensource/improvements-eks-worker-node-provisioning/) (by @erks)
|
||||||
- expose `kubelet_extra_args` worker group option (replacing `kubelet_node_labels`) to allow specifying arbitrary kubelet options (e.g. taints and labels) (by @erks)
|
- expose `kubelet_extra_args` worker group option (replacing `kubelet_node_labels`) to allow specifying arbitrary kubelet options (e.g. taints and labels) (by @erks)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- A subtle but thoughtful change. (Boomshakalaka, @self 🏀)
|
|
||||||
- allow a custom AMI to be specified as a default (by @erks)
|
- allow a custom AMI to be specified as a default (by @erks)
|
||||||
|
- Bugfix for above change (by @max-rocket-internet)
|
||||||
- **Breaking change** Removed support for `eks-worker-*` AMI. The cluster specifying a custom AMI based off of `eks-worker-*` AMI will have to rebuild the AMI from `amazon-eks-node-*`. (by @erks)
|
- **Breaking change** Removed support for `eks-worker-*` AMI. The cluster specifying a custom AMI based off of `eks-worker-*` AMI will have to rebuild the AMI from `amazon-eks-node-*`. (by @erks)
|
||||||
- **Breaking change** Removed `kubelet_node_labels` worker group option in favor of `kubelet_extra_args`. (by @erks)
|
- **Breaking change** Removed `kubelet_node_labels` worker group option in favor of `kubelet_extra_args`. (by @erks)
|
||||||
|
|
||||||
|
|||||||
38
local.tf
38
local.tf
@@ -9,25 +9,25 @@ locals {
|
|||||||
kubeconfig_name = "${var.kubeconfig_name == "" ? "eks_${var.cluster_name}" : var.kubeconfig_name}"
|
kubeconfig_name = "${var.kubeconfig_name == "" ? "eks_${var.cluster_name}" : var.kubeconfig_name}"
|
||||||
|
|
||||||
workers_group_defaults_defaults = {
|
workers_group_defaults_defaults = {
|
||||||
name = "count.index" # Name of the worker group. Literal count.index will never be used but if name is not set, the count.index interpolation will be used.
|
name = "count.index" # Name of the worker group. Literal count.index will never be used but if name is not set, the count.index interpolation will be used.
|
||||||
ami_id = "" # AMI ID for the eks workers. If none is provided, Terraform will search for the latest version of their EKS optimized worker AMI.
|
ami_id = "${data.aws_ami.eks_worker.id}" # AMI ID for the eks workers. If none is provided, Terraform will search for the latest version of their EKS optimized worker AMI.
|
||||||
asg_desired_capacity = "1" # Desired worker capacity in the autoscaling group.
|
asg_desired_capacity = "1" # Desired worker capacity in the autoscaling group.
|
||||||
asg_max_size = "3" # Maximum worker capacity in the autoscaling group.
|
asg_max_size = "3" # Maximum worker capacity in the autoscaling group.
|
||||||
asg_min_size = "1" # Minimum worker capacity in the autoscaling group.
|
asg_min_size = "1" # Minimum worker capacity in the autoscaling group.
|
||||||
instance_type = "m4.large" # Size of the workers instances.
|
instance_type = "m4.large" # Size of the workers instances.
|
||||||
spot_price = "" # Cost of spot instance.
|
spot_price = "" # Cost of spot instance.
|
||||||
root_volume_size = "100" # root volume size of workers instances.
|
root_volume_size = "100" # root volume size of workers instances.
|
||||||
root_volume_type = "gp2" # root volume type of workers instances, can be 'standard', 'gp2', or 'io1'
|
root_volume_type = "gp2" # root volume type of workers instances, can be 'standard', 'gp2', or 'io1'
|
||||||
root_iops = "0" # The amount of provisioned IOPS. This must be set with a volume_type of "io1".
|
root_iops = "0" # The amount of provisioned IOPS. This must be set with a volume_type of "io1".
|
||||||
key_name = "" # The key name that should be used for the instances in the autoscaling group
|
key_name = "" # The key name that should be used for the instances in the autoscaling group
|
||||||
pre_userdata = "" # userdata to pre-append to the default userdata.
|
pre_userdata = "" # userdata to pre-append to the default userdata.
|
||||||
additional_userdata = "" # userdata to append to the default userdata.
|
additional_userdata = "" # userdata to append to the default userdata.
|
||||||
ebs_optimized = true # sets whether to use ebs optimization on supported types.
|
ebs_optimized = true # sets whether to use ebs optimization on supported types.
|
||||||
enable_monitoring = true # Enables/disables detailed monitoring.
|
enable_monitoring = true # Enables/disables detailed monitoring.
|
||||||
public_ip = false # Associate a public ip address with a worker
|
public_ip = false # Associate a public ip address with a worker
|
||||||
kubelet_extra_args = "" # This string is passed directly to kubelet if set. Useful for adding labels or taints.
|
kubelet_extra_args = "" # This string is passed directly to kubelet if set. Useful for adding labels or taints.
|
||||||
subnets = "" # A comma delimited string of subnets to place the worker nodes in. i.e. subnet-123,subnet-456,subnet-789
|
subnets = "" # A comma delimited string of subnets to place the worker nodes in. i.e. subnet-123,subnet-456,subnet-789
|
||||||
autoscaling_enabled = false # Sets whether policy and matching tags will be added to allow autoscaling.
|
autoscaling_enabled = false # Sets whether policy and matching tags will be added to allow autoscaling.
|
||||||
}
|
}
|
||||||
|
|
||||||
workers_group_defaults = "${merge(local.workers_group_defaults_defaults, var.workers_group_defaults)}"
|
workers_group_defaults = "${merge(local.workers_group_defaults_defaults, var.workers_group_defaults)}"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ resource "aws_launch_configuration" "workers" {
|
|||||||
associate_public_ip_address = "${lookup(var.worker_groups[count.index], "public_ip", lookup(local.workers_group_defaults, "public_ip"))}"
|
associate_public_ip_address = "${lookup(var.worker_groups[count.index], "public_ip", lookup(local.workers_group_defaults, "public_ip"))}"
|
||||||
security_groups = ["${local.worker_security_group_id}"]
|
security_groups = ["${local.worker_security_group_id}"]
|
||||||
iam_instance_profile = "${aws_iam_instance_profile.workers.id}"
|
iam_instance_profile = "${aws_iam_instance_profile.workers.id}"
|
||||||
image_id = "${lookup(var.worker_groups[count.index], "ami_id", lookup(local.workers_group_defaults, "ami_id", data.aws_ami.eks_worker.id))}"
|
image_id = "${lookup(var.worker_groups[count.index], "ami_id", lookup(local.workers_group_defaults, "ami_id"))}"
|
||||||
instance_type = "${lookup(var.worker_groups[count.index], "instance_type", lookup(local.workers_group_defaults, "instance_type"))}"
|
instance_type = "${lookup(var.worker_groups[count.index], "instance_type", lookup(local.workers_group_defaults, "instance_type"))}"
|
||||||
key_name = "${lookup(var.worker_groups[count.index], "key_name", lookup(local.workers_group_defaults, "key_name"))}"
|
key_name = "${lookup(var.worker_groups[count.index], "key_name", lookup(local.workers_group_defaults, "key_name"))}"
|
||||||
user_data_base64 = "${base64encode(element(data.template_file.userdata.*.rendered, count.index))}"
|
user_data_base64 = "${base64encode(element(data.template_file.userdata.*.rendered, count.index))}"
|
||||||
|
|||||||
Reference in New Issue
Block a user