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 ¶
var ( GroupName = "k8s.ovn.org" SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
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. |