Skip to content

Commit 0872e8e

Browse files
authored
Merge pull request #30818 from sftim/20211007_revise_device_plugins_page
Revise device plugins page
2 parents 4698b12 + 2558306 commit 0872e8e

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
2-
reviewers:
32
title: Device Plugins
4-
description: Use the Kubernetes device plugin framework to implement plugins for GPUs, NICs, FPGAs, InfiniBand, and similar resources that require vendor-specific setup.
3+
description: Device plugins let you configure your cluster with support for devices or resources that require vendor-specific setup, such as GPUs, NICs, FPGAs, or non-volatile main memory.
54
content_type: concept
65
weight: 20
76
---
@@ -48,12 +47,14 @@ For example, after a device plugin registers `hardware-vendor.example/foo` with
4847
and reports two healthy devices on a node, the node status is updated
4948
to advertise that the node has 2 "Foo" devices installed and available.
5049

51-
Then, users can request devices in a
52-
[Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)
53-
specification as they request other types of resources, with the following limitations:
54-
50+
Then, users can request devices as part of a Pod specification
51+
(see [`container`](/docs/reference/kubernetes-api/workload-resources/pod-v1/#Container)).
52+
Requesting extended resources is similar to how you manage requests and limits for
53+
other resources, with the following differences:
5554
* Extended resources are only supported as integer resources and cannot be overcommitted.
56-
* Devices cannot be shared among Containers.
55+
* Devices cannot be shared between containers.
56+
57+
### Example {#example-pod}
5758

5859
Suppose a Kubernetes cluster is running a device plugin that advertises resource `hardware-vendor.example/foo`
5960
on certain nodes. Here is an example of a pod requesting this resource to run a demo workload:
@@ -174,7 +175,7 @@ a Kubernetes release with a newer device plugin API version, upgrade your device
174175
to support both versions before upgrading these nodes. Taking that approach will
175176
ensure the continuous functioning of the device allocations during the upgrade.
176177

177-
## Monitoring Device Plugin Resources
178+
## Monitoring device plugin resources
178179

179180
{{< feature-state for_k8s_version="v1.15" state="beta" >}}
180181

@@ -310,7 +311,7 @@ DaemonSet, `/var/lib/kubelet/pod-resources` must be mounted as a
310311
Support for the `PodResourcesLister service` requires `KubeletPodResources` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) to be enabled.
311312
It is enabled by default starting with Kubernetes 1.15 and is v1 since Kubernetes 1.20.
312313

313-
## Device Plugin integration with the Topology Manager
314+
## Device plugin integration with the Topology Manager
314315

315316
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
316317

@@ -319,7 +320,7 @@ The Topology Manager is a Kubelet component that allows resources to be co-ordin
319320

320321
```gRPC
321322
message TopologyInfo {
322-
repeated NUMANode nodes = 1;
323+
repeated NUMANode nodes = 1;
323324
}
324325
325326
message NUMANode {
@@ -338,6 +339,8 @@ pluginapi.Device{ID: "25102017", Health: pluginapi.Healthy, Topology:&pluginapi.
338339

339340
## Device plugin examples {#examples}
340341

342+
{{% thirdparty-content %}}
343+
341344
Here are some examples of device plugin implementations:
342345

343346
* The [AMD GPU device plugin](https://github.com/RadeonOpenCompute/k8s-device-plugin)
@@ -357,5 +360,5 @@ Here are some examples of device plugin implementations:
357360

358361
* Learn about [scheduling GPU resources](/docs/tasks/manage-gpus/scheduling-gpus/) using device plugins
359362
* Learn about [advertising extended resources](/docs/tasks/administer-cluster/extended-resource-node/) on a node
360-
* Read about using [hardware acceleration for TLS ingress](https://kubernetes.io/blog/2019/04/24/hardware-accelerated-ssl/tls-termination-in-ingress-controllers-using-kubernetes-device-plugins-and-runtimeclass/) with Kubernetes
361363
* Learn about the [Topology Manager](/docs/tasks/administer-cluster/topology-manager/)
364+
* Read about using [hardware acceleration for TLS ingress](/blog/2019/04/24/hardware-accelerated-ssl/tls-termination-in-ingress-controllers-using-kubernetes-device-plugins-and-runtimeclass/) with Kubernetes

0 commit comments

Comments
 (0)