Project: Spiderpool (Runtime / Cloud Native Network)
File: crd-spidermultusconfig.md

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 . ```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"] ``` | 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 | 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 | | optional | | | | ipvlan | ipvlan CNI configuration | | optional | | | | sriov | sriov CNI configuration | | optional | | | | ibsriov | infiniband ib-sriov CNI configuration | | optional | | | | ipoib | infiniband ipoib CNI configuration | | optional | | | | ovs | ovs CNI configuration | | optional | | | | enableCoordinator | enable coordinator or not | boolean | optional | true,false | true | | disableIPAM | disable

when set to be true, any configuration of CNI's ippools field will be ignored | boolean | optional | true,false | false | | coordinator | coordinator CNI configuration | | optional | | | | customCNI | a string that represents custom CNI configuration | string | optional | | | | Field | Description | Schema | Validation | Values | |||-||-| | master | the Interfaces on your master, you could specify a single one Interface<br/> or multiple Interfaces to generate one bond Interface | list of strings | required | | | vlanID | vlan ID | int | optional | [0,4094] | | bond | expected bond Interface configurations | | optional | | | ippools | the default IPPools in your CNI configurations | | optional | | | Field | Description | Schema | Validation | Values | |||-||-| | master | the Interfaces on your master, you could specify a single one Interface<br/> or multiple Interfaces to generate one bond Interface | list of strings | required | | | vlanID | vlan ID | int | optional | [0,4094] | | bond | expected bond Interface configurations | | optional | | | ippools | the default IPPools in your CNI configurations | | optional | | | 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 mintxrate value should be <= maxtxrate. 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 | | optional | | 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 to add pkey with guid to InfiniBand subnet manager client e.g. | 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 , default to false | bool | optional | | ippools | the default IPPools in your CNI configurations | | optional | | Field | Description | Schema | Validation | ||--|-|| | master | master interface name | string | required | | ippools | the default IPPools in your CNI configurations | | optional | | 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 | | optional | | deviceID | PCI address of a VF in valid sysfs format | string | optional | | ippools | the