Skip to content

The endpoint status does not update when the pod state changes rapidly. #125638

@QuantumEnergyE

Description

@QuantumEnergyE

What happened?

image


t2

  1. Pod update event: ready to notReady
  2. syncService
  3. currentEndpoints state(from lister: Ready) do not equal to target state(notReady)
  4. clientSet.Endpoints.Update: update etcd to notReady

t3

  1. Pod update event : notReady to ready(<xxMS)
  2. syncService
  3. currentEndpoints state(from lister: Ready) equal to target state(ready),do not update Endpoints


t4

  1. Endpoint update event: update endpoint lister cache to notReady

What did you expect to happen?

The status of the endpoint should match the status of the pod.

How can we reproduce it (as minimally and precisely as possible)?

Make the Pod status change rapidly.
Lowering the etcd push interval should make it easier to reproduce.

Anything else we need to know?

No response

Kubernetes version

v1.25.3

Cloud provider

Details

OS version

Details
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

Install tools

Details

Container runtime (CRI) and version (if applicable)

Details

Related plugins (CNI, CSI, ...) and versions (if applicable)

Details

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/controller-managerkind/bugCategorizes issue or PR as related to a bug.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.sig/networkCategorizes an issue or PR as relevant to SIG Network.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions