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: use endpoint lease reconciler as default #108062
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The apiserver owns and manages the kubernetes.default service. It has 3 different options to reconcile the endpoints that belong to that service: - None: endpoints are handled by an external party. - MasterCount: legacy, it reconciles based on the endpoints generated and a flag specifying the number of master on the cluster. - Lease: default since 1.11, each apiserver writes a lease in etcd and renews periodically, the endpoints are generated based on the existing leases. It seems that when the default was set for the lease reconciler, the controlplane code wasn't updated and kept using the master count reconciler. This also starts the deprecation of the master count reconciler in favor of the lease reconciler.
k8s-ci-robot
added
release-note
Denotes a PR that will be considered when it comes time to generate release notes.
kind/bug
Categorizes issue or PR as related to a bug.
kind/cleanup
Categorizes issue or PR as related to cleaning up code, process, or technical debt.
size/XS
Denotes a PR that changes 0-9 lines, ignoring generated files.
kind/deprecation
Categorizes issue or PR as related to a feature/enhancement marked for deprecation.
cncf-cla: yes
Indicates the PR's author has signed the CNCF CLA.
do-not-merge/needs-sig
Indicates an issue or PR lacks a `sig/foo` label and requires one.
needs-triage
Indicates an issue or PR lacks a `triage/foo` label and requires one.
needs-priority
Indicates a PR lacks a `priority/foo` label and requires one.
area/apiserver
sig/api-machinery
Categorizes an issue or PR as relevant to SIG API Machinery.
labels
Feb 11, 2022
k8s-ci-robot
removed
the
do-not-merge/needs-sig
Indicates an issue or PR lacks a `sig/foo` label and requires one.
label
Feb 11, 2022
/lgtm |
k8s-ci-robot
added
the
lgtm
"Looks good to me", indicates that a PR is ready to be merged.
label
Feb 11, 2022
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aojea, liggitt 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 |
k8s-ci-robot
added
the
approved
Indicates a PR has been approved by an approver from all required OWNERS files.
label
Feb 11, 2022
/triage accepted |
k8s-ci-robot
added
triage/accepted
Indicates an issue or PR is ready to be actively worked on.
and removed
needs-triage
Indicates an issue or PR lacks a `triage/foo` label and requires one.
labels
Feb 15, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
approved
Indicates a PR has been approved by an approver from all required OWNERS files.
area/apiserver
cncf-cla: yes
Indicates the PR's author has signed the CNCF CLA.
kind/bug
Categorizes issue or PR as related to a bug.
kind/cleanup
Categorizes issue or PR as related to cleaning up code, process, or technical debt.
kind/deprecation
Categorizes issue or PR as related to a feature/enhancement marked for deprecation.
lgtm
"Looks good to me", indicates that a PR is ready to be merged.
needs-priority
Indicates a PR lacks a `priority/foo` label and requires one.
release-note
Denotes a PR that will be considered when it comes time to generate release notes.
sig/api-machinery
Categorizes an issue or PR as relevant to SIG API Machinery.
size/XS
Denotes a PR that changes 0-9 lines, ignoring generated files.
triage/accepted
Indicates an issue or PR is ready to be actively worked on.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The apiserver owns and manages the kubernetes.default service.
It has 3 different options to reconcile the endpoints that belong to
that service:
and a flag specifying the number of master on the cluster.
and renews periodically, the endpoints are generated based on the
existing leases.
It seems that when the default was set for the lease reconciler, the
controlplane code wasn't updated and kept using the master count
reconciler.
This also starts the deprecation of the master count reconciler in
favor of the lease reconciler.
The master count has different problems that are solved by the lease reconciler and
is more complex to adapt to adapt and evolve, per example, use of dual-stack addresses on the
apiserver or reconciliation of the endpoints if they were externally modified.
/kind bug
/kind cleanup
/kind deprecation