I'd like to add a reference to a project I created several years ago called squat/generic-device-plugin, which allows Kubernetes to discover and allocate generic Linux devices such as the FUSE device, serial devices, Linux video devices, sound cards, USB devices, etc. This project provides access to Linux devices that do not require special, vendor-specific setup logic. It is often used in conjunction with Iot deployments, e.g. to expose ZigBee devices to a home assistant Deployment.
These changes are a follow-up to https://github.com/kubernetes/website/pull/42001.
They make minor edits to the documentation of the DevicePlugin API.
Signed-off-by: Evan Lezar <elezar@nvidia.com>
This change expands the documentation for the Device Plugin to include
the addition of support for CDI Device Names as a feature-gated feature
in the 1.28 release.
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Retroactively fix the feature state:
- device manager GA'd in 1.26
- topology manager GA'd in 1.27
thus we can safely call the integration between topology and device
managers GA in 1.27
Signed-off-by: Francesco Romani <fromani@redhat.com>
Based on kubelet device manager refactoring done in 1.25 release,
there is stricter ordering requirements where the device plugin
MUST start a gRPC service before registering itself to kubelet.
In case this ordering is not followed, the plugin registration
will fail.
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
To enture that this page is rendered correctly on the Kubernetes
website, the caution tag needs to be closed.
This was missed during the doc write up and review process.
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
k8s.gcr.io is deprecated in favor of registry.k8s.io. The kubernetes
codebase have been updated with the new endpoint.
Ref: https://github.com/kubernetes/k8s.io/issues/3411
Signed-off-by: Arnaud Meukam <ameukam@gmail.com>
Based on the discussion here: https://github.com/kubernetes/kubernetes/pull/97415#discussion_r722548437
we explictly state that the GetCpuIds returned for a ContainerResource in the ListPodResourcesResponse
represent only exclusively allocated CPUs.
In order to evaluate the CPUs corresponding to the shared pool, List endpoint should be used in conjunction
with GetAllocatableResources endpoint. We highlight the steps that the client needs to take evaluate this.
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
Also, explicitly clarify the behavior of GetAllocatableResources
The explanation that GetAllocatableResources can be used to obtain available resources
on the node can be misinterpretted as an API that is used to obtain free/unallocated
resources on a node.
This PR adds additional text to clarify that this API endpoint only returns
allocatable resources which are resources exposed to kubelet as defined here:
https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable.
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
* Actuallize podresources description
This commit updates description according to
https://github.com/kubernetes/enhancements/pull/1884
Update content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md
Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
* podresources: document the new feature gate
Signed-off-by: Francesco Romani <fromani@redhat.com>
* device plugins: add clarifications after review
- fix the AllocatableResourcesResponse comment
- describe the NUMA ID and explain the meaning of the field.
Signed-off-by: Francesco Romani <fromani@redhat.com>
Co-authored-by: Alexey Perevalov <alexey.perevalov@huawei.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>