-
Notifications
You must be signed in to change notification settings - Fork 39k
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
apiserver: change default reconciler to LeaseEndpoint #58474
apiserver: change default reconciler to LeaseEndpoint #58474
Conversation
/test pull-kubernetes-bazel-test |
/test pull-kubernetes-e2e-kops-aws |
12eff62
to
8e1b2c7
Compare
/cc @kubernetes/sig-node-pr-reviews @kubernetes/sig-cluster-lifecycle-pr-reviews |
/lgtm |
/assign @deads2k |
@kubernetes/sig-testing-misc Are there any issues or recommended way to test HA apiserver? |
@jamiehannaford There are not any test suites written for HA E2E API server testing. do we need to block this on HA E2E testing? cc @kubernetes/sig-api-machinery-api-reviews |
Honestly, the lack of any HA e2e tests should have blocked the existing master count reconciler. I'd expect at least a minimal e2e test before making changes in this area. For those using the existing reconciler, how does an upgrade work? What does a rolling upgrade look like with a mix of reconcilers running? Given that upgrades are a tricky thing to get right with HA, that seems like another key area to have an e2e test in place. |
I hear that kops issue effects many other PRs. I wonder who we should ask about the status of it... (Ping @justinsb). |
@rphillips Maybe it's worth pinging some folks in SIG testing (meeting info here) and ask whether no pre-existing e2e tests should block this. They might also have ideas about how we can bootstrap some initial test coverage. |
@liggitt Could this behavior be validated in isolation in an integration test in advance of the more involved setup that would be required for e2e? |
@jamiehannaford I should be able to attend the sig-testing meeting today. |
I also wonder where and how has this been used/tested. Was there a flag or feature gate that some folks have tried out? |
@errordeveloper the api server has a |
possibly. I could envision an integration test that started 3 API servers in sequence, with various reconcilers, and monitored the kubernetes service during startup to ensure the transitions are what we'd expect, and the end state is what we want.
etc |
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
cfdf794
to
f2ef723
Compare
/test pull-kubernetes-kubemark-e2e-gce |
@@ -94,7 +94,7 @@ func NewServerRunOptions() *ServerRunOptions { | |||
EnableLogsHandler: true, | |||
EventTTL: 1 * time.Hour, | |||
MasterCount: 1, | |||
EndpointReconcilerType: string(reconcilers.MasterCountReconcilerType), |
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.
update the help text on the apiserver-count
flag to indicate it only applies when using --endpoint-reconciler-type=master-count
?
do we also want to mark the master-count reconciler deprecated this release, for removal in 1.13? I can't think of a reason we'd want to keep it.
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.
I'll put that into this PR
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.
I updated the release note as well.
f2ef723
to
0227534
Compare
updated the PR with the comment change on apiserver-count. |
/retest |
flakiness this morning with tests |
opened #63302 for the volume binding stress flake |
/retest |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: errordeveloper, liggitt, rphillips 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 |
/test all [submit-queue is verifying that this PR is safe to merge] |
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here. |
I'm a little worried this PR may have caused the verify job to start failing, but I can't conclusively determine that yet. Please take a look at #63378 for details and comment if you can provide any additional insight. Thanks! |
Reverting in #63380 until the cause for the apiserver not exiting is found |
issue fixed, re-enabled in #63383 |
Automatic merge from submit-queue (batch tested with PRs 63315, 63383, 63318, 63439). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Re-enable lease reconciler, fix shutdown race Fixes #63378 Fixes #57617 * Fixes the openapi script to wait for the apiserver on shutdown (like all the other scripts do) * Fixes the apiserver shutdown to not hang forever if the kubernetes service reconciler cannot persist to etcd * Readds #58474 to make the default the lease reconciler ```release-note kube-apiserver: the default `--endpoint-reconciler-type` is now `lease`. The `master-count` endpoint reconciler type is deprecated and will be removed in 1.13. ```
What this PR does / why we need it:
Graduates the lease-endpoint-reconciler flag to beta, and defaults the endpoint reconciler to LeaseEndpoint instead of MasterCount.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #57617
Special notes for your reviewer:
Release note: