Skip to content

node: provide or recommend a podresources API client #119817

Not planned
@ffromani

Description

@ffromani

What would you like to be added?

The podresources API is a node-local API exposed by the kubelet graduating to GA in 1.28.
The project already exports the API definitition proper but not a client package.
Since this is a GA API, we should either provide easy to consume client code, or at least recommend a third party client.

For starters a golang client package is fine, and we should can extend and polish the existing client code.

Why is this needed?

Clients code wanting to consume the code maybe considering to reuse the existing client code, but this is actively discouraged.
One of the reasons seems to be that doing this will also require to import (and possibly vendor) k8s.io/kubernetes.

The only real option is to copy and paste the related code. For more details, the discussion started in the feature graduation blog post, which have more details and example code (the discussion should however continue here).

[edit] clarified why importing the existing client code is a bad idea, which if nothing else makes this issue more relevant. [/edit]

Activity

added
kind/featureCategorizes issue or PR as related to a new feature.
on Aug 8, 2023
added
needs-sigIndicates an issue or PR lacks a `sig/foo` label and requires one.
needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.
on Aug 8, 2023
ffromani

ffromani commented on Aug 8, 2023

@ffromani
ContributorAuthor

/sig node

k8s-ci-robot

k8s-ci-robot commented on Aug 8, 2023

@k8s-ci-robot
Contributor

This issue is currently awaiting triage.

If a SIG or subproject determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

added
sig/nodeCategorizes an issue or PR as relevant to SIG Node.
and removed
needs-sigIndicates an issue or PR lacks a `sig/foo` label and requires one.
on Aug 8, 2023
sftim

sftim commented on Aug 8, 2023

@sftim
Contributor

How do we publish the .proto files for this? Are they a release artefact?


How about making the sample API client code in another language (eg Python)? Using another language emphasizes that you can use this from a client implemented in any language.

We don't mind what language a third party writes their own implementation in, right?

ffromani

ffromani commented on Aug 8, 2023

@ffromani
ContributorAuthor

How do we publish the .proto files for this? Are they a release artefact?

Published in staging: https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/kubelet/pkg/apis/podresources/v1

How about making the sample API client code in another language (eg Python)? Using another language emphasizes that you can use this from a client implemented in any language.

That would be fine. I'm suggesting to promote the golang client because it's a reasonnable starting point and I know for sure there are golang projects consuming the API. But adding more clients is fine and helpful.

We don't mind what language a third party writes their own implementation in, right?

AFAIK we don't mind at all

k8s-triage-robot

k8s-triage-robot commented on Jan 26, 2024

@k8s-triage-robot

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

added
lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
on Jan 26, 2024
k8s-triage-robot

k8s-triage-robot commented on Feb 25, 2024

@k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

removed
lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
on Feb 25, 2024

10 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.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

        Participants

        @k8s-ci-robot@sftim@ffromani@k8s-triage-robot

        Issue actions

          node: provide or recommend a podresources API client · Issue #119817 · kubernetes/kubernetes