Comments (7)
Based on the code inference, we infer that the following situation occurs:
1、The lease queried before the controller-manager request of the master1 node times out is the penultimate renewal of the controller-manager before the master2 node is powered off, not the last renewal.
2、After controller-manager of master2 updates the lease, controller-manager of master1 fails to obtain the latest lease due to the persistent connection of http2.
3、When the http2 connection is disconnected and reconnected, the latest lease information is obtained.
4、However, the lease in the memory is not the latest lease. Therefore, le.observedTime is updated to the current time based on the code.
So the question is why does le.setObservedRecord update observedTime to the current time instead of renewTime?
If update observedTime to renewTime, does that fix the problem?
from kubernetes.
/sig apps
from kubernetes.
/triage accepted
from kubernetes.
If update observedTime to renewTime, does that fix the problem?
observedTime
is necessary .Utilizing observedTime
contributes to ensuring consistency, robustness, and correctness in the election process.
from kubernetes.
The log entries you've shared indicate a situation where master1, already recognized as the leader, is inexplicably initiating another leadership acquisition attempt.
Consider testing version 1.30 to check if the problem remains unresolved. The following code should alleviate your issue to some degree:
from kubernetes.
The log entries you've shared indicate a situation where master1, already recognized as the leader, is inexplicably initiating another leadership acquisition attempt.
Consider testing version 1.30 to check if the problem remains unresolved. The following code should alleviate your issue to some degree:
I think you may have missed my point. What I want to know is why observedTime
is used instead of renewTime
to determine if the lease has expired.
from kubernetes.
I think you may have missed my point. What I want to know is why observedTime is used instead of renewTime to determine if the lease has expired.
No, I know what you mean. As I said above, you can't do it this way.
from kubernetes.
Related Issues (20)
- Node reboot leaving existing pod using resources stuck with error UnexpectedAdmissionError HOT 5
- kube-apiserver oom, list resource consume too much memory cause json decode HOT 6
- Flaky test failure in staging/src/k8s.io/client-go/util/workqueue HOT 11
- client-go: fake.Clientset doesn't support streaming custom logs HOT 3
- Tracking issue: evaluating dependencies with non-CNCF CLAs HOT 9
- Support HTTP2 probes over cleartext (h2c) HOT 11
- The startup time of the init container is later than that of the application container. HOT 3
- Can't get secrets when adding imagePullSecrets HOT 3
- [Flaking test] [sig-node] Containers should use the image defaults if command and args are blank HOT 1
- kubectl --server-side --dry-run=server - wrong output for converting client side applied manifest HOT 3
- Node Labeling node.kubernetes.io/out-of-service Taint Label Delay HOT 2
- [FG:InPlacePodVerticalScaling] e2e test does not verify resource update in pod status HOT 3
- cronjob schedule with multiple conditions not working - conflict between day (week) and day (month) HOT 5
- NetPol block self pod trafic using an svc and not direct call HOT 12
- kube-apiserver logs watch requests before they end in 1.30 HOT 9
- Node Lifecycle Controller does not mark pods not ready when node becomes Ready=False HOT 8
- endpoints cannot be changed from notReadyAddresses to addresses HOT 8
- Enhancement: Add vTPM Configuration Fields for Enhanced Container Security HOT 3
- 'kubectl delete istag/$ISTAG --dry-run=server' is unexpectedly deleting the object from the server HOT 5
- [FG:InPlacePodVerticalScaling] resources in pod status are never updated if EventedPLEG is enabled HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubernetes.