Skip to content
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: Enable the configuration of topologySpreadConstraints for the EG control plane. #3535

Merged
merged 2 commits into from
Jun 4, 2024

Conversation

alexwo
Copy link
Contributor

@alexwo alexwo commented Jun 4, 2024

What this PR does / why we need it:
Given that Envoy Proxy is deployed with leader election enabled by default, it makes sense to provide an easy option to allow it to run across multiple availability zones to achieve a high availability (HA) deployment. One option currently available to achieve this is using pod affinity; however, adding topologySpreadConstraints offers even greater flexibility.

deployment:
 pod:
  topologySpreadConstraints:
   - topologyKey: kubernetes.io/hostname
     maxSkew: 1
     whenUnsatisfiable: DoNotSchedule
     labelSelector:
       matchLabels:
         app: envoyproxy
         control-plane: envoy-control-plane
   - topologyKey: topology.kubernetes.io/zone
     maxSkew: 1
     whenUnsatisfiable: ScheduleAnyway
     labelSelector:
       matchLabels:
         app: envoyproxy

Fixes #
#3534

@alexwo alexwo marked this pull request as ready for review June 4, 2024 12:04
@alexwo alexwo requested a review from a team as a code owner June 4, 2024 12:04
Copy link

codecov bot commented Jun 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.15%. Comparing base (3712659) to head (343ea55).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3535      +/-   ##
==========================================
+ Coverage   68.12%   68.15%   +0.03%     
==========================================
  Files         165      165              
  Lines       20122    20122              
==========================================
+ Hits        13708    13715       +7     
+ Misses       5416     5411       -5     
+ Partials      998      996       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: Alexander Volchok <[email protected]>
@alexwo
Copy link
Contributor Author

alexwo commented Jun 4, 2024

/retest

Copy link
Contributor

@guydc guydc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@guydc guydc requested a review from a team June 4, 2024 13:28
Copy link
Member

@cnvergence cnvergence left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

@arkodg
Copy link
Contributor

arkodg commented Jun 4, 2024

/retest

to kick DCO

@arkodg
Copy link
Contributor

arkodg commented Jun 4, 2024

DCO is broken in the server side, more in dcoapp/app#211
temporarily disabled it for now, until this issue is resolved

@arkodg arkodg merged commit af79e1c into envoyproxy:main Jun 4, 2024
25 checks passed
@alexwo alexwo deleted the enable_ha_topologySpreadConstraints branch June 5, 2024 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants