Resource amd.com/onload - Resource amd.com/onload - UG1656

Onload Operator for Kubernetes User Guide (UG1656)

Document ID
UG1656
Release Date
2024-04-26
Revision
1.0 English

This Kubernetes resource automatically exposes the following to a requesting pod:

  • Device mounts:
    • /dev/onload
    • /dev/onload_epoll
    • /dev/sfc_char
  • Library mounts (by default in /opt/onload/usr/lib64/):
    • libonload.so
    • libonload_ext.so
  • Environment variables (if setPreload is true):
    • LD_PRELOAD=<library-mount>/libonload.so
  • Binary mounts (if mountOnload is true, by default in /opt/onload/usr/bin/):
    • onload

If you wish to customize where files are mounted in the container's filesystem, you can configure this with the fields of spec.devicePlugin in an Onload CR.

Important: Kubernetes Device Plugin only affects initial pod scheduling

Kubernetes Device Plugin is designed to configure pods once only, at creation time. If the Onload CR is re-applied to the cluster with settings that would change the pod environment (for example changing the value of setPreload), running pods must be recreated before using these changes.

Additionally, Kubernetes does not evict pods when node resources are removed. Pods do not automatically have a formal dependency on Onload Device Plugin or Onload Module. This has the advantage that minor Onload Operator behavior does not affect the workloads that its components pre-configured.