From dbd74c0ad343cbd91454188426e81e328f959d39 Mon Sep 17 00:00:00 2001 From: Anthony Zawacki Date: Fri, 1 Sep 2023 18:24:14 -0400 Subject: [PATCH] Added note about cluster-autoscaler versions. --- README.md | 89 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 53 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index cd50a40..e1f43cf 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ Note that it is best if the vCPU and Mem sizes of all of the instance types are The cluster is configured with an oidc provider allowing service accounts to be configured with IRSA roles as needed. +When selecting which version of the cluster-autoscaler to install, use the one that is closest to the same version as the `cluster_version` or slightly higher. +The cluster-autoscaler uses the kuberentes scheduling algorithm to appropriate scale the cluster, and if the autoscaler version sufficiently divirges from the kubernetes version, the autoscaler will scale the node groups incorrectly. + Addons installed: - aws-efs-csi-driver - aws-ebs-csi-driver @@ -73,6 +76,20 @@ Define the name of the subnets to be used by this cluster. Default: `"*-container-*"` +**cluster_autoscaler_chart_version** + +The helm chart of the cluster-autoscaler most closely matching the Kuberentes version. Review output of `helm add repo autoscaler 'https://kubernetes.github.io/autoscaler'` (if the repo hasn't been added previously) and `helm search repo -l autoscaler/cluster-autoscaler` + +Default: `"9.28.0"` + + +**cluster_autoscaler_tag** + +Image tag of cluster-autoscaler associated with the cluster_autoscaler_chart_version helm chart. `helm show values --version [cluster_autoscaler_chart_version] autoscaler/cluster-autoscaler | grep tag:` + +Default: `"v1.26.2"` + + **eks_instance_disk_size** `number` The size of the disk of the worker nodes in gigabytes. 40 is the approximate minimum. Needs to hold the all of the normal operating system files plus every image that will be used in the cluster. @@ -112,181 +129,181 @@ Default: `15` **module_name** -Description: The name of this module." +Description: The name of this module. **module_version** -Description: The version of this module." +Description: The version of this module. **vpc_cni_irsa_role** -Description: The arn/name/unique_id of the irsa role for the vpc-cni addon" +Description: The arn/name/unique_id of the irsa role for the vpc-cni addon **ebs_csi_irsa_role** -Description: The arn/name/unique_id of the irsa role for the ebs-csi-driver addon" +Description: The arn/name/unique_id of the irsa role for the ebs-csi-driver addon **efs_csi_irsa_role** -Description: The arn/name/unique_id of the irsa role for the efs-csi-driver addon" +Description: The arn/name/unique_id of the irsa role for the efs-csi-driver addon **cluster_autoscaler_irsa_role** -Description: The arn/name/unique_id of the irsa role for the cluster autoscaler addon" +Description: The arn/name/unique_id of the irsa role for the cluster autoscaler addon **cluster_iam_role** -Description: The arn/name/unique_id of the iam role for the cluster" +Description: The arn/name/unique_id of the iam role for the cluster **cluster_arn** -Description: The Amazon Resource Name (ARN) of the cluster" +Description: The Amazon Resource Name (ARN) of the cluster **cluster_certificate_authority_data** -Description: Base64 encoded certificate data required to communicate with the cluster" +Description: Base64 encoded certificate data required to communicate with the cluster **cluster_endpoint** -Description: Endpoint for your Kubernetes API server" +Description: Endpoint for your Kubernetes API server **cluster_id** -Description: The ID of the EKS cluster. Note: currently a value is returned only for local EKS clusters created on Outposts" +Description: The ID of the EKS cluster. Note: currently a value is returned only for local EKS clusters created on Outposts **cluster_name** -Description: The name of the EKS cluster" +Description: The name of the EKS cluster **cluster_version** -Description: The Kubernetes version for the cluster" +Description: The Kubernetes version for the cluster **cluster_platform_version** -Description: Platform version for the cluster" +Description: Platform version for the cluster **cluster_status** -Description: Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`" +Description: Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED` **kms_key_arn** -Description: The Amazon Resource Name (ARN) of the key" +Description: The Amazon Resource Name (ARN) of the key **kms_key_id** -Description: The globally unique identifier for the key" +Description: The globally unique identifier for the key **kms_key_policy** -Description: The IAM resource policy set on the key" +Description: The IAM resource policy set on the key **cluster_security_group_arn** -Description: Amazon Resource Name (ARN) of the cluster security group" +Description: Amazon Resource Name (ARN) of the cluster security group **cluster_security_group_id** -Description: ID of the cluster security group" +Description: ID of the cluster security group **cluster_primary_security_group_id** -Description: 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" +Description: 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 **node_security_group_arn** -Description: Amazon Resource Name (ARN) of the node shared security group" +Description: Amazon Resource Name (ARN) of the node shared security group **node_security_group_id** -Description: ID of the node shared security group" +Description: ID of the node shared security group **oidc_provider** -Description: The OpenID Connect identity provider (issuer URL without leading `https://`)" +Description: The OpenID Connect identity provider (issuer URL without leading `https://`) **oidc_provider_arn** -Description: The ARN of the OIDC Provider if `enable_irsa = true`" +Description: The ARN of the OIDC Provider if `enable_irsa = true` **cluster_oidc_issuer_url** -Description: The URL on the EKS cluster for the OpenID Connect identity provider" +Description: The URL on the EKS cluster for the OpenID Connect identity provider **cluster_tls_certificate_sha1_fingerprint** -Description: The SHA1 fingerprint of the public key of the cluster's certificate" +Description: The SHA1 fingerprint of the public key of the cluster's certificate **cluster_addons** -Description: Map of attribute maps for all EKS cluster addons enabled" +Description: Map of attribute maps for all EKS cluster addons enabled **cluster_identity_providers** -Description: Map of attribute maps for all EKS identity providers enabled" +Description: Map of attribute maps for all EKS identity providers enabled **cloudwatch_log_group_arn** -Description: Arn of cloudwatch log group created" +Description: Arn of cloudwatch log group created **cloudwatch_log_group_name** -Description: Name of cloudwatch log group created" +Description: Name of cloudwatch log group created **fargate_profiles** -Description: Map of attribute maps for all EKS Fargate Profiles created" +Description: Map of attribute maps for all EKS Fargate Profiles created **eks_managed_node_groups** -Description: Map of attribute maps for all EKS managed node groups created" +Description: Map of attribute maps for all EKS managed node groups created **eks_managed_node_groups_autoscaling_group_names** -Description: List of the autoscaling group names created by EKS managed node groups" +Description: List of the autoscaling group names created by EKS managed node groups **self_managed_node_groups** -Description: Map of attribute maps for all self managed node groups created" +Description: Map of attribute maps for all self managed node groups created **self_managed_node_groups_autoscaling_group_names** -Description: List of the autoscaling group names created by self-managed node groups" +Description: List of the autoscaling group names created by self-managed node groups