Skip to content

API Reference

Packages

k8s.ovn.org/v1

Package v1 contains API Schema definitions for the network v1 API group

Resource Types

AdminPolicyBasedExternalRoute

AdminPolicyBasedExternalRoute is a CRD allowing the cluster administrators to configure policies for external gateway IPs to be applied to all the pods contained in selected namespaces. Egress traffic from the pods that belong to the selected namespaces to outside the cluster is routed through these external gateway IPs.

Field Description Default Validation
apiVersion string k8s.ovn.org/v1
kind string AdminPolicyBasedExternalRoute
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec AdminPolicyBasedExternalRouteSpec Required: {}
status AdminPolicyBasedRouteStatus

AdminPolicyBasedExternalRouteSpec

AdminPolicyBasedExternalRouteSpec defines the desired state of AdminPolicyBasedExternalRoute

Appears in: - AdminPolicyBasedExternalRoute

Field Description Default Validation
from ExternalNetworkSource From defines the selectors that will determine the target namespaces to this CR.
nextHops ExternalNextHops NextHops defines two types of hops: Static and Dynamic. Each hop defines at least one external gateway IP. MinProperties: 1

AdminPolicyBasedRouteStatus

AdminPolicyBasedRouteStatus contains the observed status of the AdminPolicyBased route types.

Appears in: - AdminPolicyBasedExternalRoute

Field Description Default Validation
lastTransitionTime Time Captures the time when the last change was applied.
messages string array An array of Human-readable messages indicating details about the status of the object.
status StatusType A concise indication of whether the AdminPolicyBasedRoute resource is applied with success

DynamicHop

DynamicHop defines the configuration for a dynamic external gateway interface. These interfaces are wrapped around a pod object that resides inside the cluster. The field NetworkAttachmentName captures the name of the multus network name to use when retrieving the gateway IP to use. The PodSelector and the NamespaceSelector are mandatory fields.

Appears in: - ExternalNextHops

Field Description Default Validation
podSelector LabelSelector PodSelector defines the selector to filter the pods that are external gateways. Required: {}
namespaceSelector LabelSelector NamespaceSelector defines a selector to filter the namespaces where the pod gateways are located. Required: {}
networkAttachmentName string NetworkAttachmentName determines the multus network name to use when retrieving the pod IPs that will be used as the gateway IP.
When this field is empty, the logic assumes that the pod is configured with HostNetwork and is using the node's IP as gateway.
bfdEnabled boolean BFDEnabled determines if the interface implements the Bidirectional Forward Detection protocol. Defaults to false. false

ExternalNetworkSource

ExternalNetworkSource contains the selectors used to determine the namespaces where the policy will be applied to

Appears in: - AdminPolicyBasedExternalRouteSpec

Field Description Default Validation
namespaceSelector LabelSelector NamespaceSelector defines a selector to be used to determine which namespaces will be targeted by this CR

ExternalNextHops

ExternalNextHops contains slices of StaticHops and DynamicHops structures. Minimum is one StaticHop or one DynamicHop.

Validation: - MinProperties: 1

Appears in: - AdminPolicyBasedExternalRouteSpec

Field Description Default Validation
static StaticHop array StaticHops defines a slice of StaticHop. This field is optional.
dynamic DynamicHop array DynamicHops defines a slices of DynamicHop. This field is optional.

StaticHop

StaticHop defines the configuration of a static IP that acts as an external Gateway Interface. IP field is mandatory.

Appears in: - ExternalNextHops

Field Description Default Validation
ip string IP defines the static IP to be used for egress traffic. The IP can be either IPv4 or IPv6. Pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*
Required: {}
bfdEnabled boolean BFDEnabled determines if the interface implements the Bidirectional Forward Detection protocol. Defaults to false. false

StatusType

Underlying type: string

StatusType defines the types of status used in the Status field. The value determines if the deployment of the CR was successful or if it failed.

Appears in: - AdminPolicyBasedRouteStatus