SpiderMultusConfig
A SpiderMultusConfig resource represents a best practice to generate a multus net-attach-def CR object for spiderpool to use.
For details on using this CRD, please read the SpiderMultusConfig guide .
Sample YAML
apiVersion : spiderpool.spidernet.io/v2beta1
kind : SpiderMultusConfig
metadata :
name : demo
namespace : default
annotations :
multus.spidernet.io/cr-name : "macvlan-100"
multus.spidernet.io/cni-version : 0.4.0
spec :
cniType : macvlan
macvlan :
master : [ "eth0" ]
vlanID : 100
ippools :
ipv4 : [ "default-pool-v4" ]
ipv6 : [ "default-pool-v6" ]
SpiderMultusConfig definition
Field
Description
Schema
Validation
name
The name of this SpiderMultusConfig resource
string
required
namespace
The namespace of this SpiderMultusConfig resource
string
required
annotations
The annotations of this SpiderMultusConfig resource
map
optional
You can also set annotations for this SpiderMultusConfig resource, then the corresponding Multus net-attach-def resource will inherit these annotations too.
And you can also use special annotation multus.spidernet.io/cr-name
and multus.spidernet.io/cni-version
to customize the corresponding Multus net-attach-def resource name and CNI version.
Field
Description
Schema
Validation
Default
multus.spidernet.io/cr-name
The customized Multus net-attach-def resource name
string
optional
multus.spidernet.io/cni-version
The customized Multus net-attach-def resource CNI version
string
optional
0.3.1
Spec
This is the SpiderReservedIP spec for users to configure.
Field
Description
Schema
Validation
Values
Default
cniType
expected main CNI type
string
require
macvlan, ipvlan, sriov, ovs, ib-sriov, custom
macvlan
macvlan CNI configuration
SpiderMacvlanCniConfig
optional
ipvlan
ipvlan CNI configuration
SpiderIPvlanCniConfig
optional
sriov
sriov CNI configuration
SpiderSRIOVCniConfig
optional
ibsriov
infiniband ib-sriov CNI configuration
SpiderIBSRIOVCniConfig
optional
ipoib
infiniband ipoib CNI configuration
SpiderIpoibCniConfig
optional
ovs
ovs CNI configuration
SpiderOvsCniConfig
optional
enableCoordinator
enable coordinator or not
boolean
optional
true,false
true
disableIPAM
disable IPAM. when set to be true, any configuration of CNI's ippools field will be ignored
boolean
optional
true,false
false
coordinator
coordinator CNI configuration
CoordinatorSpec
optional
customCNI
a string that represents custom CNI configuration
string
optional
chainCNIJsonData
a list of string that represents chain CNI configuration, such as tune plugin.
[]string
optional
SpiderMacvlanCniConfig
Field
Description
Schema
Validation
Values
master
the Interfaces on your master, you could specify a single one Interface or multiple Interfaces to generate one bond Interface
list of strings
required
vlanID
vlan ID
int
optional
[0,4094]
bond
expected bond Interface configurations
BondConfig
optional
ippools
the default IPPools in your CNI configurations
SpiderpoolPools
optional
SpiderIPvlanCniConfig
Field
Description
Schema
Validation
Values
master
the Interfaces on your master, you could specify a single one Interface or multiple Interfaces to generate one bond Interface
list of strings
required
vlanID
vlan ID
int
optional
[0,4094]
bond
expected bond Interface configurations
BondConfig
optional
ippools
the default IPPools in your CNI configurations
SpiderpoolPools
optional
SpiderSRIOVCniConfig
Field
Description
Schema
Validation
resourceName
this property will create an annotation for Multus net-attach-def to cooperate with SRIOV
string
required
vlanID
vlan ID
int
optional
minTxRateMbps
change the allowed minimum transmit bandwidth, in Mbps, for the VF. Setting this to 0 disables rate limiting. The min_tx_rate value should be <= max_tx_rate. Support of this feature depends on NICs and drivers
int
optional
maxTxRateMbps
change the allowed maximum transmit bandwidth, in Mbps, for the VF. Setting this to 0 disables rate limiting
int
optional
enableRdma
enable rdma chain cni to isolate the rdma device
bool
optional
ippools
the default IPPools in your CNI configurations
SpiderpoolPools
optional
SpiderIBSRIOVCniConfig
Field
Description
Schema
Validation
resourceName
this property will create an annotation for Multus net-attach-def to cooperate with ib-sriov
string
required
pkey
InfiniBand pkey for VF, this field is used by ib-kubernetes to add pkey with guid to InfiniBand subnet manager client e.g. Mellanox UFM
string
optional
linkState
Enforces link state for the VF. Allowed values: auto, enable [default], disable
string
optional
rdmaIsolation
Enable RDMA network namespace isolation for RDMA workloads, default to true
bool
optional
ibKubernetesEnabled
Enforces ib-sriov-cni to work with ib-kubernetes , default to false
bool
optional
ippools
the default IPPools in your CNI configurations
SpiderpoolPools
optional
SpiderIpoibCniConfig
Field
Description
Schema
Validation
master
master interface name
string
required
ippools
the default IPPools in your CNI configurations
SpiderpoolPools
optional
SpiderOvsCniConfig
Field
Description
Schema
Validation
bridge
name of the bridge to use
string
required
vlan
vlan ID of attached port. Trunk port if not specified
int
optional
trunk
List of VLAN ID's and/or ranges of accepted VLAN ID's
Trunk
optional
deviceID
PCI address of a VF in valid sysfs format
string
optional
ippools
the default IPPools in your CNI configurations
SpiderpoolPools
optional
BondConfig
Field
Description
Schema
Validation
Values
Name
the expected bond interface name
string
required
Mode
bond interface mode
int
required
[0,6]
Options
expected bond Interface configurations
string
optional
Trunk
Field
Description
Schema
Validation
Values
minID
the min value of vlan ID
int
optional
[0,4094]
maxID
the max value of vlan ID
int
optional
[0,4094]
id
the value of vlan ID
int
optional
[0,4094]
SpiderpoolPools
Field
Description
Schema
Validation
ipv4
the default IPv4 IPPools in your CNI configurations
list of strings
optional
ipv6
the default IPv6 IPPools in your CNI configurations
list of strings
optional