Network Operator API reference v1alpha1
Packages:
mellanox.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the mellanox.com v1alpha1 API group
Resource Types:
AppliedState
(Appears on: HostDeviceNetworkStatus, NicClusterPolicyStatus)
AppliedState defines a finer-grained view of the observed state of NicClusterPolicy
Field |
Description |
---|---|
|
Name of the deployed component this state refers to |
|
The state of the deployed component. (“ready”, “notReady”, “ignore”, “error”) |
|
Message is a human readable message indicating details about why the state is in this condition |
ConfigMapNameReference
(Appears on: OFEDDriverSpec)
ConfigMapNameReference references a config map in a specific namespace. The namespace must be specified at the point of use.
Field |
Description |
---|---|
|
Name of the ConfigMap |
DOCATelemetryServiceConfig
(Appears on: DOCATelemetryServiceSpec)
DOCATelemetryServiceConfig contains configuration for the DOCATelemetryService.
Field |
Description |
---|---|
|
(Optional) FromConfigMap sets the configMap the DOCATelemetryService gets its configuration from. The ConfigMap must be in the same namespace as the NICClusterPolicy. |
DOCATelemetryServiceSpec
(Appears on: NicClusterPolicySpec)
DOCATelemetryServiceSpec is the configuration for DOCA Telemetry Service.
Field |
Description |
---|---|
|
Image information for DOCA Telemetry Service |
|
(Optional) Config contains custom config for the DOCATelemetryService. If set no default config will be deployed. |
DevicePluginSpec
(Appears on: NicClusterPolicySpec)
DevicePluginSpec describes configuration options for device plugin 1. Image information for device plugin 2. Device plugin configuration
Field |
Description |
---|---|
|
Image information for the device plugin and optional configuration |
|
Enables use of container device interface (CDI) NOTE: NVIDIA Network Operator does not configure container runtime to enable CDI. |
DrainSpec
(Appears on: DriverUpgradePolicySpec)
DrainSpec describes configuration for node drain during automatic upgrade
Field |
Description |
---|---|
|
(Optional) Enable indicates if node draining is allowed during upgrade |
|
(Optional) Force indicates if force draining is allowed |
|
(Optional) PodSelector specifies a label selector to filter pods on the node that need to be drained For more details on label selectors, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors |
|
(Optional) TimeoutSecond specifies the length of time in seconds to wait before giving up drain, zero means infinite |
|
(Optional) DeleteEmptyDir indicates if should continue even if there are pods using emptyDir (local data that will be deleted when the node is drained) |
DriverUpgradePolicySpec
(Appears on: OFEDDriverSpec)
DriverUpgradePolicySpec describes policy configuration for automatic upgrades
Field |
Description |
---|---|
|
(Optional) AutoUpgrade is a global switch for automatic upgrade feature if set to false all other options are ignored |
|
(Optional) MaxParallelUpgrades indicates how many nodes can be upgraded in parallel 0 means no limit, all nodes will be upgraded in parallel |
|
The configuration for waiting on pods completions |
|
The configuration for node drain during automatic upgrade |
|
(Optional) SafeLoad turn on safe driver loading (cordon and drain the node before loading the driver) |
HostDeviceNetwork
HostDeviceNetwork is the Schema for the hostdevicenetworks API
Field |
Description |
---|---|
|
Refer to the Kubernetes API documentation for the fields of the |
Defines the desired state of HostDeviceNetwork |
|
|
Defines the observed state of HostDeviceNetwork |
HostDeviceNetworkSpec
(Appears on: HostDeviceNetwork)
HostDeviceNetworkSpec defines the desired state of HostDeviceNetwork
Field |
Description |
---|---|
|
Namespace of the NetworkAttachmentDefinition custom resource |
|
Host device resource pool name |
|
IPAM configuration to be used for this network |
HostDeviceNetworkStatus
(Appears on: HostDeviceNetwork)
HostDeviceNetworkStatus defines the observed state of HostDeviceNetwork
Field |
Description |
---|---|
|
Reflects the state of the HostDeviceNetwork |
|
Network attachment definition generated from HostDeviceNetworkSpec |
|
Informative string in case the observed state is error |
|
AppliedStates provide a finer view of the observed state |
IBKubernetesSpec
(Appears on: NicClusterPolicySpec)
IBKubernetesSpec describes configuration options for ib-kubernetes
Field |
Description |
---|---|
|
Image information for ib-kubernetes |
|
(Optional) Interval of updates in seconds |
|
The first guid in the pool |
|
The last guid in the pool |
|
Secret containing credentials to UFM service |
IPoIBNetwork
IPoIBNetwork is the Schema for the ipoibnetworks API
Field |
Description |
---|---|
|
Refer to the Kubernetes API documentation for the fields of the |
|
Defines the desired state of IPoIBNetwork |
|
Defines the observed state of IPoIBNetwork |
IPoIBNetworkSpec
(Appears on: IPoIBNetwork)
IPoIBNetworkSpec defines the desired state of IPoIBNetwork
Field |
Description |
---|---|
|
Namespace of the NetworkAttachmentDefinition custom resource |
|
Name of the host interface to enslave. Defaults to default route interface |
|
IPAM configuration to be used for this network. |
IPoIBNetworkStatus
(Appears on: IPoIBNetwork)
IPoIBNetworkStatus defines the observed state of IPoIBNetwork
Field |
Description |
---|---|
|
Reflects the state of the IPoIBNetwork |
|
Network attachment definition generated from IPoIBNetworkSpec |
|
Informative string in case the observed state is error |
ImageSpec
(Appears on: DOCATelemetryServiceSpec, IBKubernetesSpec, ImageSpecWithConfig, NICFeatureDiscoverySpec, NVIPAMSpec, OFEDDriverSpec, SecondaryNetworkSpec)
ImageSpec Contains container image specifications
Field |
Description |
---|---|
|
Name of the image |
|
Address of the registry that stores the image |
|
Version of the image to use |
|
(Optional) ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling the image |
|
ResourceRequirements describes the compute resource requirements |
ImageSpecWithConfig
(Appears on: DevicePluginSpec, MultusSpec)
ImageSpecWithConfig Contains ImageSpec and optional configuration
Field |
Description |
---|---|
|
Image information for the component |
|
Configuration for the component as a string |
MacvlanNetwork
MacvlanNetwork is the Schema for the macvlannetworks API
Field |
Description |
---|---|
|
Refer to the Kubernetes API documentation for the fields of the |
|
Defines the desired state of MacvlanNetworkSpec |
|
Defines the observed state of MacvlanNetwork |
MacvlanNetworkSpec
(Appears on: MacvlanNetwork)
MacvlanNetworkSpec defines the desired state of MacvlanNetwork
Field |
Description |
---|---|
|
Namespace of the NetworkAttachmentDefinition custom resource |
|
Name of the host interface to enslave. Defaults to default route interface |
|
Mode of interface one of “bridge”, “private”, “vepa”, “passthru” |
|
MTU of interface to the specified value. 0 for master’s MTU |
|
IPAM configuration to be used for this network. |
MacvlanNetworkStatus
(Appears on: MacvlanNetwork)
MacvlanNetworkStatus defines the observed state of MacvlanNetwork
Field |
Description |
---|---|
|
Reflects the state of the MacvlanNetwork |
|
Network attachment definition generated from MacvlanNetworkSpec |
|
Informative string in case the observed state is error |
MultusSpec
(Appears on: SecondaryNetworkSpec)
MultusSpec describes configuration options for Multus CNI 1. Image information for Multus CNI 2. Multus CNI config if config is missing or empty then multus config will be automatically generated from the CNI configuration file of the master plugin (the first file in lexicographical order in cni-conf-dir)
Field |
Description |
---|---|
|
Image information for Multus and optional configuration |
NICFeatureDiscoverySpec
(Appears on: NicClusterPolicySpec)
NICFeatureDiscoverySpec describes configuration options for nic-feature-discovery
Field |
Description |
---|---|
|
Image information for nic-feature-discovery |
NVIPAMSpec
(Appears on: NicClusterPolicySpec)
NVIPAMSpec describes configuration options for nv-ipam 1. Image information for nv-ipam 2. Configuration for nv-ipam
Field |
Description |
---|---|
|
Enable deployment of the validation webhook |
|
Image information for nv-ipam |
NicClusterPolicy
NicClusterPolicy is the Schema for the nicclusterpolicies API
Field |
Description |
---|---|
|
Refer to the Kubernetes API documentation for the fields of the |
|
Defines the desired state of NicClusterPolicy |
|
Defines the observed state of NicClusterPolicy |
NicClusterPolicySpec
(Appears on: NicClusterPolicy)
NicClusterPolicySpec defines the desired state of NicClusterPolicy
Field |
Description |
---|---|
|
OFEDDriver is a specialized driver for NVIDIA NICs which can replace the inbox driver that comes with an OS. See https://network.nvidia.com/support/mlnx-ofed-matrix/ |
|
RdmaSharedDevicePlugin manages support IB and RoCE HCAs through the Kubernetes device plugin framework. The config field is a json representation of the RDMA shared device plugin configuration. See https://github.com/Mellanox/k8s-rdma-shared-dev-plugin |
|
SriovDevicePlugin manages SRIOV through the Kubernetes device plugin framework. The config field is a json representation of the RDMA shared device plugin configuration. See https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin |
|
IBKubernetes provides a daemon that works in conjunction with the SR-IOV Network Device Plugin. It acts on Kubernetes pod object changes and reads the pod’s network annotation. From there it fetches the corresponding network CRD and reads the PKey. This is done in order to add the newly generated GUID or the predefined GUID in the GUID field of the CRD. This is then passed in cni-args to that PKey for pods with mellanox.infiniband.app annotation. See: https://github.com/Mellanox/ib-kubernetes |
|
SecondaryNetwork Specifies components to deploy in order to facilitate a secondary network in Kubernetes. It consists of the following optionally deployed components: - Multus-CNI: Delegate CNI plugin to support secondary networks in Kubernetes - CNI plugins: Currently only containernetworking-plugins is supported - IPAM CNI: Currently only Whereabout IPAM CNI is supported as a part of the secondaryNetwork section. - IPoIB CNI: Allows the user to create IPoIB child link and move it to the pod |
|
NvIpam is an IPAM provider that dynamically assigns IP addresses with speed and performance in mind. Note: NvIPam requires certificate management e.g. cert-manager or OpenShift cert management. See https://github.com/Mellanox/nvidia-k8s-ipam |
|
NicFeatureDiscovery works with NodeFeatureDiscovery to expose information about NVIDIA NICs. https://github.com/Mellanox/nic-feature-discovery |
|
DOCATelemetryService exposes telemetry from NVIDIA networking components to prometheus. See: https://docs.nvidia.com/doca/sdk/nvidia+doca+telemetry+service+guide/index.html |
|
NodeAffinity rules to inject to the DaemonSets objects that are managed by the operator |
|
Tolerations to inject to the DaemonSets objects that are managed by the operator |
NicClusterPolicyStatus
(Appears on: NicClusterPolicy)
NicClusterPolicyStatus defines the observed state of NicClusterPolicy
Field |
Description |
---|---|
|
Reflects the current state of the cluster policy |
|
Informative string in case the observed state is error |
|
AppliedStates provide a finer view of the observed state |
OFEDDriverSpec
(Appears on: NicClusterPolicySpec)
OFEDDriverSpec describes configuration options for OFED driver
Field |
Description |
---|---|
|
Image information for ofed driver container |
|
Pod startup probe settings |
|
Pod liveness probe settings |
|
Pod readiness probe settings |
List of environment variables to set in the OFED container. |
|
|
Ofed auto-upgrade settings |
|
Optional: Custom TLS certificates configuration for driver container |
|
Optional: Custom package repository configuration for OFED container |
|
(Optional) TerminationGracePeriodSeconds specifies the length of time in seconds to wait before killing the OFED pod on termination |
|
(Optional) ForcePrecompiled specifies if only MOFED precompiled images are allowed If set to false and precompiled image does not exists, MOFED drivers will be compiled on Nodes If set to true and precompiled image does not exists, OFED state will be Error. |
PodProbeSpec
(Appears on: OFEDDriverSpec)
PodProbeSpec describes a pod probe.
Field |
Description |
---|---|
|
Number of seconds after the container has started before the probe is initiated |
|
How often (in seconds) to perform the probe |
ResourceRequirements
(Appears on: ImageSpec)
ResourceRequirements describes the compute resource requirements.
Field |
Description |
---|---|
|
Name of the container the requirements are set for |
(Optional) Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
|
(Optional) Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
SecondaryNetworkSpec
(Appears on: NicClusterPolicySpec)
SecondaryNetworkSpec describes configuration options for secondary network
Field |
Description |
---|---|
|
Image and configuration information for multus |
|
Image information for CNI plugins |
|
Image information for IPoIB CNI |
|
Image information for IPAM plugin |
State (string
alias)
(Appears on: AppliedState, HostDeviceNetworkStatus, IPoIBNetworkStatus, MacvlanNetworkStatus, NicClusterPolicyStatus)
State represents reconcile state of the system.
WaitForCompletionSpec
(Appears on: DriverUpgradePolicySpec)
WaitForCompletionSpec describes the configuration for waiting on pods completions
Field |
Description |
---|---|
|
(Optional) PodSelector specifies a label selector for the pods to wait for completion For more details on label selectors, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors |
|
(Optional) TimeoutSecond specifies the length of time in seconds to wait before giving up on pod termination, zero means infinite |