-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: Replace the use of aws-auth
configmap with EKS cluster access entry
#2858
feat!: Replace the use of aws-auth
configmap with EKS cluster access entry
#2858
Conversation
…`delete`; raise MSV of AWS provider to `v5.0` to support
…sions from upstream
…ws-eks into refactor/cluster-access-mgmt-replace-aws-auth
Thank you @bryantbiggs for the upgrade work! With it, I successfully used the |
awesome, thanks @jbronn - theres a few parts we're waiting on for this release, and one of those is aws/karpenter-provider-aws#5195. I'd prefer to follow the policy set by the upstream project instead of crafting something custom here so we'll see what the Karpenter team comes back with |
@bryantbiggs I think we're on the same page, as my changes were an attempt to sync with latest 0.33.1 policy rather than some custom one I made myself. In particular, there are significant issues with the current policy here that prevent Karpenter working at all:
|
92579a5
to
df833f2
Compare
df833f2
to
4f3be36
Compare
…esource names to support migrating for users
5a8d51c
to
aa5bbfd
Compare
aws-auth
configmap with EKS cluster access entry
aa5bbfd
to
15d8235
Compare
15d8235
to
9cb886e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, small minor concerns about resource renaming and we are good to go!
Co-authored-by: Anton Babenko <anton@antonbabenko.com>
Co-authored-by: Anton Babenko <anton@antonbabenko.com>
Co-authored-by: Anton Babenko <anton@antonbabenko.com>
This PR is included in version 20.0.0 🎉 |
Hi @bryantbiggs any particular reason for this change? I don't see any way to modify the behavior as its a hard set merge. We like to enforce our own tagging standards and this breaks that. PRs welcome? |
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
Description
List of backwards incompatible changes
v5.34
v1.3
to support Terraform statemoved
blocks as well as other advanced featuresresolve_conflicts
argument within thecluster_addons
configuration has been replaced withresolve_conflicts_on_create
andresolve_conflicts_on_delete
now thatresolve_conflicts
is deprecatedpreserve
argument ofcluster_addons
is now set totrue
. This has shown to be useful for users deprovisioning clusters while avoiding the situation where the CNI is deleted too early and causes resources to be left orphaned resulting in conflicts.irsa
naming convention has been removed, along with an update to the Karpenter controller IAM policy to align with Karpenter'sv1beta1
/v0.32
changes. Instead of referring to the role asirsa
orpod_identity
, its simply just an IAM role used by the Karpenter controller and there is support for use with either IRSA and/or Pod Identity (default) at this timeaws-auth
ConfigMap resources have been moved to a standalone sub-module. This removes the Kubernetes provider requirement from the main module and allows for theaws-auth
ConfigMap to be managed independently of the main module. This sub-module will be removed entirely in the next major release.API_AND_CONFIG_MAP
. This is a one way change if applied; if you wish to useCONFIG_MAP
, you will need to setauthentication_mode = "CONFIG_MAP"
explicitly when upgrading.spot_interrupt
updated to correct mis-spelling (wasspot_interupt
). This will cause the rule to be replacedAdditional changes
Added
bootstrap_cluster_creator_admin_permissions
setting on the control plane has been hardcoded tofalse
since this operation is a one time operation only at cluster creation per the EKS API. Instead, users can enable/disableenable_cluster_creator_admin_permissions
at any time to achieve the same functionality. This takes the identity that Terraform is using to make API calls and maps it into a cluster admin via an access entry. For users on existing clusters, you will need to remove the default cluster administrator that was created by EKS prior to the cluster access entry APIs - see the sectionRemoving the default cluster administrator
for more details.instance_maintenance_policy
and have addedmax_healthy_percentage
,scale_in_protected_instances
, andstandby_instances
arguments to theinstance_refresh.preferences
blockModified
sts:AssumeRole
permissions by services, the use of dynamically looking up the DNS suffix has been replaced with the static value ofamazonaws.com
. This does not appear to change by partition and instead requires users to set this manually for non-commercial regions.kms_key_enable_default_policy
has changed fromfalse
totrue
to align with the default behavior of theaws_kms_key
resourcecreate_instance_profile
has changed fromtrue
tofalse
to align with the changes in Karpenter v0.32create_instance_profile
default value has changed fromtrue
tofalse
. Starting with Karpenterv0.32.0
, Karpenter accepts an IAM role and creates the EC2 instance profile used by the nodesRemoved
complete
example has been removed due to its redundancy with the other examplesMotivation and Context
instance_maintenance_policy
block inself_managed_node_group_defaults / self_managed_node_groups
#2830Breaking Changes
How Has This Been Tested?
examples/*
to demonstrate and validate my change(s)examples/*
projectspre-commit run -a
on my pull request