Neutron using ovs
# NOTE: This file serves as an example only!
# It demonstrates a subset of the API features which are available and
# is NOT FIT FOR PRODUCTIVE USE. You need to adapt them to your
# specific environment, needs and scale.
# DO NOT DEPLOY THIS FILE WITH THE EXPECTATION THAT YOU WILL GET A
# YAOOK DEPLOYMENT FIT FOR ANY USE EXCEPT LOOKING AT IT.
apiVersion: yaook.cloud/v1
kind: NeutronDeployment
metadata:
name: neutron-ovs
spec:
api:
ingress:
fqdn: "neutron.yaook.cloud"
port: 32443
replicas: 1
database:
backup:
schedule: "0 * * * *"
proxy: {}
replicas: 1
issuerRef:
name: ca-issuer
keystoneRef:
name: keystone
messageQueue:
replicas: 1
memcached: {}
neutronConfig:
DEFAULT:
debug: true
neutronML2Config:
ml2_type_flat:
flat_networks:
- physnet1
novaRef:
name: nova
policy:
"context_is_admin": "role:admin"
region:
name: MyRegion
setup:
ovs:
l2:
configTemplates:
- nodeSelectors:
- matchLabels: {} # matches all!
# this key will be removed, use neutronOpenvSwitchAgentConfig instead
neutronConfig:
DEFAULT:
debug: true
neutronOpenvSwitchAgentConfig:
DEFAULT:
debug: true
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-l3-agent": "true"
# this key will be removed, use neutronOpenvSwitchAgentConfig instead
neutronConfig:
DEFAULT:
debug: True
neutronOpenvSwitchAgentConfig:
ovs:
bridge_mappings: []
bridgeConfig: []
dhcp:
configTemplates:
- nodeSelectors:
- matchLabels: {}
# this key will be removed, use neutronDHCPAgentConfig instead
neutronConfig:
DEFAULT:
debug: true
neutronDHCPAgentConfig:
DEFAULT:
debug: true
l3:
configTemplates:
- nodeSelectors:
- matchLabels: {}
# this key will be removed, use neutronL3AgentConfig instead
neutronConfig:
DEFAULT:
debug: true
neutronL3AgentConfig:
DEFAULT:
debug: true
agent:
debug_iptables_rules: true
bgp:
bgpdr-agent: # duplicate this section with a different key to have two or more bgp dragents
# the key needs to be lowercase or else the operator doesn't create the resources
configTemplates:
- nodeSelectors:
- matchLabels: {}
# this key will be removed, use neutronBGPDRAgentConfig instead
neutronConfig:
DEFAULT:
debug: True
neutronBGPDRAgentConfig:
DEFAULT:
debug: True
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-l3-agent": "true"
bgpInterfaceMapping:
bridgeName: some-bridge-from-ovs-bridge_mappings
targetRelease: queens
Neutron using ovn
# NOTE: This file serves as an example only!
# It demonstrates a subset of the API features which are available and
# is NOT FIT FOR PRODUCTIVE USE. You need to adapt them to your
# specific environment, needs and scale.
# DO NOT DEPLOY THIS FILE WITH THE EXPECTATION THAT YOU WILL GET A
# YAOOK DEPLOYMENT FIT FOR ANY USE EXCEPT LOOKING AT IT.
apiVersion: yaook.cloud/v1
kind: NeutronDeployment
metadata:
name: neutron-ovn
spec:
api:
ingress:
fqdn: "neutron.yaook.cloud"
port: 32443
replicas: 1
database:
backup:
schedule: "0 * * * *"
proxy: {}
replicas: 1
issuerRef:
name: ca-issuer
keystoneRef:
name: keystone
messageQueue:
replicas: 1
memcached: {}
neutronConfig:
DEFAULT:
debug: true
neutronML2Config:
ml2_type_flat:
flat_networks:
- physnet1
novaRef:
name: nova
policy:
"context_is_admin": "role:admin"
region:
name: MyRegion
setup:
ovn:
northboundOVSDB:
replicas: 3
backup:
schedule: 0 12 * * *
northd: {}
southboundOVSDB:
# recommended to increase inactivityProbe at scale (default 5s)
inactivityProbeMs: 60000
ovnRelay: # add this section to deploy ovn-relays
replicas: 5
replicas: 3
backup:
schedule: 0 12 * * *
controller:
configTemplates:
- nodeSelectors:
- matchLabels: {} # all nodes
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-network-node": "true"
bridgeConfig:
- bridgeName: br-ex
uplinkDevice: eth1
openstackPhysicalNetwork: "physnet1"
targetRelease: yoga
Further parameters
spec:setup:ovs:l2:configTemplates:nodeSelectors[]:overlayNetworkConfig:ovs_local_ip_subnet
The IP address configured via [ovs]/local_ip
is used for the local
overlay (tunnel) network endpoint by the Neutron Open vSwitch agent. If not
specified in the NeutronDeployment
resource the Kubernetes node IP address
is used. By specifying a subnet via
spec:setup:ovs:l2:configTemplates:nodeSelectors[]:overlayNetworkConfig:ovs_local_ip_subnet
the IP address of the corresponding interface of the node which has an IP
address for that subnet is used for [ovs]/local_ip
instead.