...
Code Block |
---|
|
NetworkSpec
CniType string // Ovn4nfv is the only supported type
Ipv4Subnets []Ip4Subnet // Some CNI may support only one subnet
Ipv6Subnets []Ip6Subnet // Optional
Route DnsList []Routes // Optional - List of Routes for this Network
Dns DnsSpec // Optional
Ipv4Subnet
Name string // Name of the subnet
Subnet string // Subnet CIDR
Gateway string // Optional Gateway CIDR if not provided assumed it is the first address in subnet
ExcludeIps string // Optional list of IP address in a comma sperated list
Ipv6Subnet
Name string // Name of the subnet
Prefix string // Prefix for Ipv6
Gateway string // Optional Gateway
ExcludeIps string // Optional list of IP address in a comma sperated list
DnsRoutes
Destination QueryName string // DNSDestination nameCIDR
Gateway IpAddresses string // listIP of next hop
commaDns
separated IP address for thisNameServers DNS query []string |
Network CRD
Code Block |
---|
language | yml |
---|
title | Network CRD |
---|
|
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: networks.k8s.plugin.opnfv.org
spec:
group: k8s.plugin.opnfv.org
version: v1
names: // List of nameservers
Domain kind:string Network plural:// networksName of local scope:domain
Namespaced subresources: Search # status enables the status subresource.[]string // status:List {}of search domains
validation: Options openAPIV3Schema: type:[]string object // List of options
properties:
|
Network CRD
Code Block |
---|
language | yml |
---|
title | Network CRD |
---|
|
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: networks.k8s.plugin.opnfv.org
spec:
group: k8s.plugin.opnfv.org
version: v1
typenames:
object kind: Network
plural: networks
propertiesscope: Namespaced
subresources:
# status enables the cniType:status subresource.
status: {}
validation:
typeopenAPIV3Schema:
string type: object
ipv4Subnetsproperties:
spec:
description: 'List of subnets for type: theobject
network' properties:
type: array cniType:
items: type: string
properties: ipv4Subnets:
namedescription: 'List of subnets for the network'
type: string array
items:
subnetproperties:
name:
type: string |
Example CR for Network CRD
Code Block |
---|
language | yml |
---|
title | Network CR Example |
---|
|
apiVersion: k8s.plugin.opnfv.org/v1 kind: Network metadata: name: ovn-priv-net spec: cniType: Ovn4nfv ipv4subnetstype: string
- subnet: 172.16.33.0/24 name: subnet1 subnet:
gateway: 172.16.33.1/24 excludeIpstype: 172.16.33.2 172.16.33.5..172.16.33.10 |
Provider Network CRD
This CRD is to create a provider network on one or more nodes in the cluster.
Spec for Provider Network CRD
Code Block |
---|
|
ProviderNetworkSpec
CniType string
|
Example CR for Network CRD
Code Block |
---|
language | yml |
---|
title | Network CR Example |
---|
|
apiVersion: k8s.plugin.opnfv.org/v1
kind: Network
metadata:
name: ovn-priv-net
spec:
cniType: Ovn4nfv
ipv4subnets:
- subnet: 172.16.33.0/24
name: subnet1
gateway: 172.16.33.1/24
excludeIps: 172.16.33.2 172.16.33.5..172.16.33.10 |
Provider Network CRD
This CRD is to create a provider network on one or more nodes in the cluster.
Spec for Provider Network CRD
Code Block |
---|
|
ProviderNetworkSpec
CniType string // Ovn4nfv is the only supported type
ProviderNetworkType string // VLAN is the only supported type
Vlan VlanSpec
Ip4Subnets []Ip4Subnet // Some CNI may support only one subnet
Ip6Subnets string []Ip6Subnet // Ovn4nfvOptional is
the only supported type Route ProviderNetworkType string // VLAN is[]Routes the only supported type // Optional - VlanList of Routes for this Network
Dns VlanSpec Ip4Subnets DnsSpec // Optional
[]Ip4Subnet
VlanSpec
// Some CNI may supportVlanID only one subnet Ip6Subnets string []Ip6Subnet // OptionalVLAN ID
DnsListProviderInterfaceName string // Interface name to create VLAN on
[]Dns VlanNodeSelector // Optional VlanSpec string VlanID // "all"/"any"(in which case a node will be randomly selected)/"specific"(see below)
NodeNameList string // VLAN ID []string ProviderInterfaceName // if stringVlanNodeSelector is value "specific" then this //array Interfaceprovides namea tolist createof VLANnodes on
NodeLogicalInterfaceName string // Optional if not provide InterfaceName.VlanID Used
Ip4Subnet string
//Name Node on which to create VLAN - values can be comma seperated list or "all" or "any" in which case a nodestring will be randomly selected // Name of LogicalInterfaceNamethe subnet
Subnet string // Optional if not provide InterfaceName.VlanID Used Ip4Subnet string Name// Subnet CIDR
Gateway string // NameOptional ofGateway theCIDR subnetif Subnetnot provided assumed it is the first address in subnet
ExcludeIps string //string Subnet CIDR Gateway // Optional list of IP address in a comma sperated list
Ip6Subnet
string Name // Optional Gateway CIDR if not provided assumed it is the first address in subnet ExcludeIps string // Name of the subnet
string Prefix // Optional list of IP address in a comma sperated list Ip6Subnet Name string // Prefix for Ipv6
Gateway string // Name of the subnet string Prefix // Optional Gateway
ExcludeIps string //string Prefix for Ipv6 // Optional Gatewaylist of IP address in a comma sperated list
Route
Destination string // OptionalDestination GatewayCIDR
Gateway ExcludeIps string // stringIP of next hop
DnsSpec
// OptionalNameServers list of IP address[]string in a comma sperated// listList of Dnsnameservers QueryName
Domain string // DNS name Name of local domain
Search IpAddresses []string // List of search stringdomains
Options // list of comma separated IP[]string address for this DNS// queryList of options |
Provider Network CRD
Code Block |
---|
language | yml |
---|
title | Provider Network CRD |
---|
|
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: providernetworks.k8s.plugin.opnfv.org
spec:
group: k8s.plugin.opnfv.org
version: v1
names:
kind: ProviderNetwork
plural: providernetworks
scope: Namespaced
subresources:
# status enables the status subresource.
status: {}
validation:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
cniType:
type: string
ipv4Subnets:
description: 'List of subnets for the network'
type: array
items:
properties:
name:
type: string
subnet:
type: string |
...
Code Block |
---|
|
NetworkChainSpec
Type ChainType string // Currently only Routing type is supported
RoutingSpec RouteSpec // Spec for Routing type
RouteSpec
LeftNetwork []RoutingNetwork // Info on Network on the left side
RightNetwork []RoutingNetwork // Info on Network on the right side
NetworkChain string // Left and Right networks are derived from Leftnetwork and RightNetwork respectively.
// NetworkChain is a comma seprated list with format DeploymentName, middle Network Name, DeploymentName
RoutingNetwork
NetworkName string // Name of the network
SubnetInfo []Subnet // Subnet information
SubnetInfo
Name string // Name of the subnet
GatewayIp string // Gateway IP Address
|
...