v1

package
v0.0.0-...-4d3c99f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2024 License: Apache-2.0 Imports: 3 Imported by: 1

Documentation

Overview

Package v1 contains API Schema definitions for the network v1 API group +k8s:deepcopy-gen=package +groupName=k8s.ovn.org

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupName          = "k8s.ovn.org"
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme        = SchemeBuilder.AddToScheme
)

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type EgressService

type EgressService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   EgressServiceSpec   `json:"spec,omitempty"`
	Status EgressServiceStatus `json:"status,omitempty"`
}

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=egressservices +kubebuilder::singular=egressservice +kubebuilder:object:root=true +kubebuilder:subresource:status EgressService is a CRD that allows the user to request that the source IP of egress packets originating from all of the pods that are endpoints of the corresponding LoadBalancer Service would be its ingress IP. In addition, it allows the user to request that egress packets originating from all of the pods that are endpoints of the LoadBalancer service would use a different network than the main one.

func (*EgressService) DeepCopy

func (in *EgressService) DeepCopy() *EgressService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressService.

func (*EgressService) DeepCopyInto

func (in *EgressService) DeepCopyInto(out *EgressService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EgressService) DeepCopyObject

func (in *EgressService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EgressServiceList

type EgressServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []EgressService `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=egressservices +kubebuilder::singular=egressservice EgressServiceList contains a list of EgressServices

func (*EgressServiceList) DeepCopy

func (in *EgressServiceList) DeepCopy() *EgressServiceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressServiceList.

func (*EgressServiceList) DeepCopyInto

func (in *EgressServiceList) DeepCopyInto(out *EgressServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EgressServiceList) DeepCopyObject

func (in *EgressServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EgressServiceSpec

type EgressServiceSpec struct {
	// Determines the source IP of egress traffic originating from the pods backing the LoadBalancer Service.
	// When `LoadBalancerIP` the source IP is set to its LoadBalancer ingress IP.
	// When `Network` the source IP is set according to the interface of the Network,
	// leveraging the masquerade rules that are already in place.
	// Typically these rules specify SNAT to the IP of the outgoing interface,
	// which means the packet will typically leave with the IP of the node.
	SourceIPBy SourceIPMode `json:"sourceIPBy,omitempty"`

	// Allows limiting the nodes that can be selected to handle the service's traffic when sourceIPBy=LoadBalancerIP.
	// When present only a node whose labels match the specified selectors can be selected
	// for handling the service's traffic.
	// When it is not specified any node in the cluster can be chosen to manage the service's traffic.
	// +optional
	NodeSelector metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// The network which this service should send egress and corresponding ingress replies to.
	// This is typically implemented as VRF mapping, representing a numeric id or string name
	// of a routing table which by omission uses the default host routing.
	// +optional
	Network string `json:"network,omitempty"`
}

EgressServiceSpec defines the desired state of EgressService

func (*EgressServiceSpec) DeepCopy

func (in *EgressServiceSpec) DeepCopy() *EgressServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressServiceSpec.

func (*EgressServiceSpec) DeepCopyInto

func (in *EgressServiceSpec) DeepCopyInto(out *EgressServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressServiceStatus

type EgressServiceStatus struct {
	// The name of the node selected to handle the service's traffic.
	// In case sourceIPBy=Network the field will be set to "ALL".
	Host string `json:"host"`
}

EgressServiceStatus defines the observed state of EgressService

func (*EgressServiceStatus) DeepCopy

func (in *EgressServiceStatus) DeepCopy() *EgressServiceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressServiceStatus.

func (*EgressServiceStatus) DeepCopyInto

func (in *EgressServiceStatus) DeepCopyInto(out *EgressServiceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceIPMode

type SourceIPMode string

+kubebuilder:validation:Enum=LoadBalancerIP;Network

const (
	// SourceIPLoadBalancer sets the source according to the LoadBalancer's ingress IP.
	SourceIPLoadBalancer SourceIPMode = "LoadBalancerIP"

	// SourceIPNetwork sets the source according to the IP of the outgoing interface of the Network.
	SourceIPNetwork SourceIPMode = "Network"
)

Directories

Path Synopsis
apis
clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset/versioned/typed/egressservice/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/egressservice/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL