Skip to content

Add TCP/HTTP/network requests to the CRI API #102613

Open
@aojea

Description

@aojea

What would you like to be added:

CRI API methods to execute kubelet TCP and HTTP probes/lifecycle hooks

Why is this needed:

Current probes/lifecycle hooks implementation forces the networking model to provide connectivity between the kubelet and the pods, however, this may not be true or easy to achieve in all platforms and all the CRI implementations.

Since the CRI API abstracts the communication between "the kubelet and its pods", and it already implements the exec probes through this API, it may be useful to have an API call to exec the networking TCP and/or HTTP probes.

This request doesn't require current implementations to move to a model based on CRI/API calls, it just opens the possibility to new platforms and other CRIs to start using it, and the project to study if it should start to migrate to this mode.

However, this can present some challenges as per Tim's comment

While this fixes some issues, it introduces new ones - old probes that used the node's localhost will be broken, for example. I don't see how we could do it by default.

References:

Metadata

Metadata

Labels

kind/featureCategorizes issue or PR as related to a new feature.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.sig/networkCategorizes an issue or PR as relevant to SIG Network.sig/nodeCategorizes an issue or PR as relevant to SIG Node.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions