-
Notifications
You must be signed in to change notification settings - Fork 472
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
Add Event Controller #2649
Add Event Controller #2649
Conversation
@BeckerMax Label area/operations does not exist. |
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.
/assign
Thanks for the PR, pretty well readable!
...ener/controlplane/charts/runtime/templates/controller-manager/configmap-componentconfig.yaml
Outdated
Show resolved
Hide resolved
...ener/controlplane/charts/runtime/templates/controller-manager/configmap-componentconfig.yaml
Outdated
Show resolved
Hide resolved
pkg/controllermanager/controller/shoot/shoot_hibernation_types.go
Outdated
Show resolved
Hide resolved
Can you please sign the CLA and check |
@BeckerMax You have mentioned internal references in the public. Please check. |
/assign |
6bdda7a
to
1210f45
Compare
1210f45
to
b1b5460
Compare
b1b5460
to
a045373
Compare
a045373
to
c17fbda
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.
Thanks, I'm okay with the PR and don't have further suggestions. The only thing I'd kindly ask you to add is a little bit of documentation here: https://github.com/gardener/gardener/blob/master/docs/concepts/controller-manager.md#control-loops
You can introduce a new section Event
controller and explain what it does, how to configure it, etc. (does not need to be too long/artificially long, but detailed enough so that an external user understands it).
Thank you very much, and sorry for not mentioning this earlier.
/needs documentation
/status author-action
@BeckerMax The pull request was assigned to you under |
@rfranzke I already had the documentation included. But now I also added the |
569e3b7
to
b87c753
Compare
/unassign |
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
The goal of the event controller is to persist Shoot-related events longer for debugging reasons. The controller deletes all non-Shoot events after the configured `ttlNonShootEvents`. Shoot-related events are not touched by the controller and only eventually get deleted after the configured `ttl` in the kube-api-server configuration. Considered alternatives to this controller were: 1. export relevant events from etcd to another persistent store. 2. extend the global `ttl` in the api-server for all events While option 1. would be preferable it imposes dificulties as with the Control Plane Migration the shoot CP(with the events) can move between Seed worker nodes. In addition this commit: - Replaces some Shoot-related events with logs to reduce the load written to etcd - Creates more fine grained events regarding shoot cluster maintenance and hibernation
b87c753
to
aca4fd6
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.
Thanks for adapting all the feedback!
/lgtm
🚀
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
How to categorize this PR?
/area usability
/kind enhancement
/priority normal
What this PR does / why we need it:
Add event controller
The goal of the event controller is to persist Shoot-related events longer for debugging reasons.
The controller deletes all non-Shoot events after the configured
ttlNonShootEvents
.Shoot-related events are not touched by the controller and only eventually get deleted after the configured
ttl
in the kube-api-server configuration.Considered alternatives to this controller were:
ttl
in the api-server for all eventsWhile option 1. would be preferable it imposes dificulties as with the Control Plane Migration the shoot CP(with the events) can move between Seed worker nodes.
See also issue #2390
Also:
Which issue(s) this PR fixes:
Fixes #2390
Special notes for your reviewer:
Very open for any suggestion as well regarding code/tests style.
Release note: