The SR-IOV network operator introduces the following Custom Resource Definitions (CRDs):
| Resource | Purpose | Managed By |
|---|---|---|
| SriovNetwork | Define SR-IOV network configurations and generate NetworkAttachmentDefinition CRs | Cluster Admin or user in namespace |
| OVSNetwork | Define OVS hardware-offload network configurations | Cluster Admin or user in namespace |
| SriovNetworkNodeState | Represent SR-IOV interface states on each node | Operator (read-only for users) |
| SriovNetworkNodePolicy | Configure SR-IOV interfaces and device plugin on selected nodes | Cluster Admin |
| SriovNetworkPoolConfig | Manage groups of nodes for parallel operations and RDMA configuration | Cluster Admin |
| SriovOperatorConfig | Configure operator-wide settings, feature gates, and plugin management | Cluster Admin |
graph TD
A[SriovNetworkNodePolicy] --> B[SriovNetworkNodeState]
B --> C[Node Configuration]
D[NetworkAttachmentDefinition]
E[SriovNetwork] --> D
F[OVSNetwork] --> D
classDef policy fill:#e1f5fe
classDef state fill:#f3e5f5
classDef config fill:#fff3e0
classDef network fill:#e8f5e8
class A policy
class B state
class C config
class D,E,F network
- Create
SriovNetworkNodePolicyto configure hardware - Create
SriovNetworkto define network - Reference network in pod annotations
- Use
SriovNetworkPoolConfigfor parallel node operations - Configure
SriovOperatorConfigfor global operator configuration and update feature gates - Monitor
SriovNetworkNodeStatefor hardware status on a specific node
- SriovNetwork and OVSNetwork - Network configuration
- SriovNetworkNodePolicy - Hardware configuration policies
- SriovNetworkPoolConfig - Node pool management
- SriovNetworkNodeState - Node status (read-only)
- SriovOperatorConfig - Operator configuration
kubectl get sriovnetworknodestate -n sriov-network-operator
kubectl describe sriovnetworknodestate <node-name> -n sriov-network-operatorkubectl get sriovnetwork -A
kubectl get networkattachmentdefinition -Akubectl get sriovoperatorconfig default -n sriov-network-operator
kubectl logs deployment/sriov-network-operator -n sriov-network-operator