You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ordering of the workflow is important. A plugin MUST start serving gRPC
139
-
service before registering itself with kubelet for successful registration.
140
-
{{< /note >}}
137
+
{{< note >}}
138
+
The ordering of the workflow is important. A plugin MUST start serving gRPC
139
+
service before registering itself with kubelet for successful registration.
140
+
{{< /note >}}
141
141
142
142
1. After successfully registering itself, the device plugin runs in serving mode, during which it keeps
143
143
monitoring device health and reports back to the kubelet upon any device state changes.
@@ -297,7 +297,6 @@ However, calling `GetAllocatableResources` endpoint is not sufficient in case of
297
297
update and Kubelet needs to be restarted to reflect the correct resource capacity and allocatable.
298
298
{{< /note >}}
299
299
300
-
301
300
```gRPC
302
301
// AllocatableResourcesResponses contains informations about all the devices known by the kubelet
303
302
message AllocatableResourcesResponse {
@@ -318,14 +317,14 @@ Preceding Kubernetes v1.23, to enable this feature `kubelet` must be started wit
318
317
```
319
318
320
319
`ContainerDevices` do expose the topology information declaring to which NUMA cells the device is
321
-
affine. The NUMA cells are identified using a opaque integer ID, which value is consistent to
320
+
affine. The NUMA cells are identified using a opaque integer ID, which value is consistent to
322
321
what device plugins report
323
322
[when they register themselves to the kubelet](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#device-plugin-integration-with-the-topology-manager).
324
323
325
324
The gRPC service is served over a unix socket at `/var/lib/kubelet/pod-resources/kubelet.sock`.
326
325
Monitoring agents for device plugin resources can be deployed as a daemon, or as a DaemonSet.
327
326
The canonical directory `/var/lib/kubelet/pod-resources` requires privileged access, so monitoring
328
-
agents must run in a privileged security context. If a device monitoring agent is running as a
327
+
agents must run in a privileged security context. If a device monitoring agent is running as a
329
328
DaemonSet, `/var/lib/kubelet/pod-resources` must be mounted as a
330
329
{{< glossary_tooltip term_id="volume" >}} in the device monitoring agent's
`TopologyInfo` supports setting a `nodes` field to either `nil` or a list of NUMA nodes. This
361
360
allows the Device Plugin to advertise a device that spans multiple NUMA nodes.
362
361
363
-
Setting `TopologyInfo` to `nil`or providing an empty list of NUMA nodes for a given device
362
+
Setting `TopologyInfo` to `nil` or providing an empty list of NUMA nodes for a given device
364
363
indicates that the Device Plugin does not have a NUMA affinity preference for that device.
365
364
366
365
An example `TopologyInfo` struct populated for a device by a Device Plugin:
@@ -396,4 +395,3 @@ Here are some examples of device plugin implementations:
396
395
* Learn about the [Topology Manager](/docs/tasks/administer-cluster/topology-manager/)
397
396
* 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/)
0 commit comments