projectcalico / calico

Cloud native networking and network security
https://docs.tigera.io/calico/latest/about/
Apache License 2.0
6.04k stars 1.35k forks source link

Add setNodeNetworkUnavailable option for calico node #9479

Open yuzhiquan opened 1 week ago

yuzhiquan commented 1 week ago

Description

New feature, add an option setNodeNetworkUnavailable, default is true, control the behavior after calico-node is ready and the calico node to set NodeNetworkUnavailable = false or not. Some times, in our cluster, we have noticed that the node is ready and NodeNetworkUnavailable = false. but our network is not ready to accept the requests, so we want to add this option to control this. And we also can find the options in other network projects like flannel or cilium.

Related issues/PRs

Todos

Release Note

Add setNodeNetworkUnavailable option for calico node

Reminder for the reviewer

Make sure that this PR has the correct labels and milestone set.

Every PR needs one docs-* label.

Every PR needs one release-note-* label.

Other optional labels:

CLAassistant commented 1 week ago

CLA assistant check
All committers have signed the CLA.

caseydavenport commented 6 days ago

but our network is not ready to accept the requests, so we want to add this option to control this.

Out of curiosity, could you provide a bit more context for this? Is it Calico that is unable to accept requests or something else in the network?

How do you plan to configure this CLI flag - I don't think there's a way currently to set this when installing e.g., via the operator?

yuzhiquan commented 3 days ago

Is it Calico that is unable to accept requests or something else in the network?

We believe the root cause is the number of our nodes has achieved the quota of full-mesh mode, so we have plan to enable RR in the future, this pr just wants to give another choice in this condition, we can mark the node as ready when we make sure the network is ready for receive requests.

How do you plan to configure this CLI flag - I don't think there's a way currently to set this when installing e.g., via the operator?

Sorry, I'm not familiar with this part. Do you have any suggestions?