-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Introduce flags for fine-tuning maximum concurrent reconciles per resource #141
Introduce flags for fine-tuning maximum concurrent reconciles per resource #141
Conversation
flag.IntVar( | ||
&cfg.ReconcileDefaultMaxConcurrency, flagReconcileDefaultMaxConcurrency, | ||
1, | ||
"The default maximum number of concurrent reconciles for a resource reconciler. This value is used if no "+ | ||
"resource-specific override has been specified. Default is 1.", | ||
) |
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.
We will maintain the default maximum reconciles at 1
a6f6167
to
ca3dc92
Compare
…ource. This commit aims to improve the performance and scalability of the ACK service controllers by introducing support for configuring the maximum number of concurrent reconciles for individual resources. The primary motivation behind this change is to address varying workload demands and resource requirements in Kubernetes environements. This patch introduces two new flags (soon exposed to in the helm chart values): - `--reconcile-default-max-concurrent-syncs`: allow users to specify the default maximum concurrency level for all the resources. - `--reconcile-resource-max-concurrent-syncs`: enable users to define resource-specific maximum concurrency settings, overriding the default value. A use case example would be the scenario of an admin wanting to manage EKS resources using the ACK `eks-controller`. It is normal for each cluster to have multiple nodegroups/PIAs/AccessEntries/FargateProfiles, which can indicate the proportion of needed max concurrencies for each resource. For instance, you can configure the EKS Controller with a default maximum of 2 concurrent reconciles for all the resources, and override the maximum concurrency to 10 for `AccessEntries` and `PodIdentityAssociations` Signed-off-by: Amine Hilaly <hilalyamine@gmail.com>
ca3dc92
to
8c58045
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: a-hilaly, jlbutler The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Propagating two main patches to all the controllers: - Properly handle CARM errors and requeues by @a-hilaly in aws-controllers-k8s/runtime#140 - Introduce flags for fine-tuning maximum concurrent reconciles per resource by @a-hilaly in aws-controllers-k8s/runtime#141 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
…ource (aws-controllers-k8s#141) This commit aims to improve the performance and scalability of the ACK service controllers by introducing support for configuring the maximum number of concurrent reconciles for individual resources. The primary motivation behind this change is to address varying workload demands and resource requirements in Kubernetes environements. This patch introduces two new flags (soon exposed to in the helm chart values): - `--reconcile-default-max-concurrent-syncs`: allow users to specify the default maximum concurrency level for all the resources. - `--reconcile-resource-max-concurrent-syncs`: enable users to define resource-specific maximum concurrency settings, overriding the default value. A use case example would be the scenario of an admin wanting to manage EKS resources using the ACK `eks-controller`. It is normal for each cluster to have multiple nodegroups/PIAs/AccessEntries/FargateProfiles, which can indicate the proportion of needed max concurrencies for each resource. For instance, you can configure the EKS Controller with a default maximum of 2 concurrent reconciles for all the resources, and override the maximum concurrency to 10 for `AccessEntries` and `PodIdentityAssociations` Signed-off-by: Amine Hilaly <hilalyamine@gmail.com> By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
This commit aims to improve the performance and scalability of the ACK
service controllers by introducing support for configuring the maximum
number of concurrent reconciles for individual resources. The primary
motivation behind this change is to address varying workload demands and
resource requirements in Kubernetes environements.
This patch introduces two new flags (soon exposed to in the helm chart
values):
--reconcile-default-max-concurrent-syncs
: allow users to specify thedefault maximum concurrency level for all the resources.
--reconcile-resource-max-concurrent-syncs
: enable users to defineresource-specific maximum concurrency settings, overriding the default
value.
A use case example would be the scenario of an admin wanting to manage
EKS resources using the ACK
eks-controller
. It is normal for eachcluster to have multiple nodegroups/PIAs/AccessEntries/FargateProfiles,
which can indicate the proportion of needed max concurrencies for each
resource.
For instance, you can configure the EKS Controller with a default
maximum of 2 concurrent reconciles for all the resources, and override
the maximum concurrency to 10 for
AccessEntries
andPodIdentityAssociations
Signed-off-by: Amine Hilaly hilalyamine@gmail.com
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.