Documentation ¶
Overview ¶
Package v1beta1 Package is the v1beta1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type Allocation
- type AllocationType
- type ENI
- type ENIBindStatus
- type ENIInfo
- type ENIType
- type IPAllocType
- type NetworkingStatus
- type Phase
- type PodENI
- type PodENIList
- type PodENISpec
- type PodENIStatus
- type PodNetworking
- type PodNetworkingList
- type PodNetworkingSpec
- type PodNetworkingStatus
- type ReleaseStrategy
- type Route
- type Selector
- type VSwitch
Constants ¶
const ( // ENIPhaseInitial the status when pod first created ENIPhaseInitial = "" // ENIPhaseBind the status ENI is bind to ECS ENIPhaseBind = "Bind" // ENIPhaseBinding the status ENI need to bind to ECS, usually when sts pod require the previous ENI ENIPhaseBinding = "Binding" // ENIPhaseUnbind the status ENI is not bind to ECS ENIPhaseUnbind = "Unbind" // ENIPhaseDetaching the status when need to detach ENI from ECS ENIPhaseDetaching = "Detaching" // ENIPhaseDeleting the status when CR is removing ENIPhaseDeleting = "Deleting" )
pod create | | podENI create |
ENIPhaseInitial
| | bind eni ENIPhaseBind <----- ENIPhaseBinding <----- sts pod recreate | | | | | | gc reserved resource for sts pods | ENIPhaseUnbind --------------- | | | | | sts pod delete | | | |-----------------------> ENIPhaseDetaching | | | | | | stateless pod delete | | | <--------------------------------------------- | | |
ENIPhaseDeleting <------------------------------------------------|
| del podENI
const ( IPAllocTypeElastic = "Elastic" IPAllocTypeFixed = "Fixed" )
IPAllocType
const ( ReleaseStrategyTTL = "TTL" ReleaseStrategyNever = "Never" )
ReleaseStrategy
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: network.GroupName, Version: "v1beta1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Allocation ¶
type Allocation struct { AllocationType AllocationType `json:"allocationType,omitempty"` ENI ENI `json:"eni,omitempty"` IPv4 string `json:"ipv4,omitempty"` IPv6 string `json:"ipv6,omitempty"` IPv4CIDR string `json:"ipv4CIDR,omitempty"` IPv6CIDR string `json:"ipv6CIDR,omitempty"` Interface string `json:"interface,omitempty"` DefaultRoute bool `json:"defaultRoute,omitempty"` ExtraRoutes []Route `json:"extraRoutes,omitempty"` ExtraConfig map[string]string `json:"extraConfig,omitempty"` }
Allocation for eni record
func (*Allocation) DeepCopy ¶
func (in *Allocation) DeepCopy() *Allocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Allocation.
func (*Allocation) DeepCopyInto ¶
func (in *Allocation) DeepCopyInto(out *Allocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllocationType ¶ added in v1.1.1
type AllocationType struct { // +kubebuilder:default:=Elastic Type IPAllocType `json:"type,omitempty"` ReleaseStrategy ReleaseStrategy `json:"releaseStrategy,omitempty"` ReleaseAfter string `json:"releaseAfter,omitempty"` // go type 5m0s }
AllocationType ip type and release strategy
func (*AllocationType) DeepCopy ¶ added in v1.1.1
func (in *AllocationType) DeepCopy() *AllocationType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationType.
func (*AllocationType) DeepCopyInto ¶ added in v1.1.1
func (in *AllocationType) DeepCopyInto(out *AllocationType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ENI ¶
type ENI struct { ID string `json:"id,omitempty"` MAC string `json:"mac,omitempty"` Zone string `json:"zone,omitempty"` VSwitchID string `json:"vSwitchID,omitempty"` ResourceGroupID string `json:"resourceGroupID,omitempty"` SecurityGroupIDs []string `json:"securityGroupIDs,omitempty"` }
ENI eni info
func (*ENI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ENI.
func (*ENI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ENIBindStatus ¶ added in v1.1.1
type ENIBindStatus string
ENIBindStatus is the current status for the eni
const ( // ENIStatusBind eni is bind ENIStatusBind ENIBindStatus = "Bind" // ENIStatusUnBind eni is not attached ENIStatusUnBind ENIBindStatus = "Unbind" // ENIStatusDeleted eni is already deleted ENIStatusDeleted ENIBindStatus = "Deleted" )
type ENIInfo ¶ added in v1.1.1
type ENIInfo struct { ID string `json:"id,omitempty"` Type ENIType `json:"type,omitempty"` Vid int `json:"vid,omitempty"` // vlan id for trunk Status ENIBindStatus `json:"status,omitempty"` // the status for operate the eni }
func (*ENIInfo) DeepCopy ¶ added in v1.1.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ENIInfo.
func (*ENIInfo) DeepCopyInto ¶ added in v1.1.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ENIType ¶ added in v1.1.1
type ENIType string
ENIType for this eni, only Secondary and Member is supported
type NetworkingStatus ¶
type NetworkingStatus string
NetworkingStatus the status for the resource
const ( NetworkingStatusReady NetworkingStatus = "Ready" NetworkingStatusFail NetworkingStatus = "Fail" )
NetworkingStatus
type PodENI ¶
type PodENI struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PodENISpec `json:"spec,omitempty"` Status PodENIStatus `json:"status,omitempty"` }
PodENI is the Schema for the podenis API
func (*PodENI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodENI.
func (*PodENI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodENI) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodENIList ¶
type PodENIList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PodENI `json:"items"` }
PodENIList contains a list of PodENI
func (*PodENIList) DeepCopy ¶
func (in *PodENIList) DeepCopy() *PodENIList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodENIList.
func (*PodENIList) DeepCopyInto ¶
func (in *PodENIList) DeepCopyInto(out *PodENIList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodENIList) DeepCopyObject ¶
func (in *PodENIList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodENISpec ¶
type PodENISpec struct { // Allocation store the state for eni Allocations []Allocation `json:"allocations,omitempty"` // Zone zone Zone string `json:"zone,omitempty"` }
PodENISpec defines the desired state of PodENI
func (*PodENISpec) DeepCopy ¶
func (in *PodENISpec) DeepCopy() *PodENISpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodENISpec.
func (*PodENISpec) DeepCopyInto ¶
func (in *PodENISpec) DeepCopyInto(out *PodENISpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodENISpec) HaveFixedIP ¶ added in v1.2.1
func (p *PodENISpec) HaveFixedIP() bool
type PodENIStatus ¶
type PodENIStatus struct { // Phase is the status for the eni binding Phase Phase `json:"phase,omitempty"` // InstanceID for ecs InstanceID string `json:"instanceID,omitempty"` // TrunkENIID is the trunk eni id TrunkENIID string `json:"trunkENIID,omitempty"` // Msg additional info Msg string `json:"msg,omitempty"` // PodLastSeen is the timestamp when pod resource last seen PodLastSeen metav1.Time `json:"podLastSeen,omitempty"` // ENIInfos is the status after eni is attached, it is indexed by eni id ENIInfos map[string]ENIInfo `json:"eniInfos,omitempty"` }
PodENIStatus defines the observed state of PodENI
func (*PodENIStatus) DeepCopy ¶
func (in *PodENIStatus) DeepCopy() *PodENIStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodENIStatus.
func (*PodENIStatus) DeepCopyInto ¶
func (in *PodENIStatus) DeepCopyInto(out *PodENIStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodNetworking ¶
type PodNetworking struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PodNetworkingSpec `json:"spec,omitempty"` Status PodNetworkingStatus `json:"status,omitempty"` }
PodNetworking is the Schema for the PodNetworking API
func (*PodNetworking) DeepCopy ¶
func (in *PodNetworking) DeepCopy() *PodNetworking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworking.
func (*PodNetworking) DeepCopyInto ¶
func (in *PodNetworking) DeepCopyInto(out *PodNetworking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodNetworking) DeepCopyObject ¶
func (in *PodNetworking) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodNetworkingList ¶
type PodNetworkingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PodNetworking `json:"items"` }
PodNetworkingList contains a list of PodNetworking
func (*PodNetworkingList) DeepCopy ¶
func (in *PodNetworkingList) DeepCopy() *PodNetworkingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkingList.
func (*PodNetworkingList) DeepCopyInto ¶
func (in *PodNetworkingList) DeepCopyInto(out *PodNetworkingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodNetworkingList) DeepCopyObject ¶
func (in *PodNetworkingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodNetworkingSpec ¶
type PodNetworkingSpec struct { AllocationType AllocationType `json:"allocationType,omitempty"` Selector Selector `json:"selector,omitempty"` SecurityGroupIDs []string `json:"securityGroupIDs,omitempty"` VSwitchOptions []string `json:"vSwitchOptions,omitempty"` }
PodNetworkingSpec defines the desired state of PodNetworking
func (*PodNetworkingSpec) DeepCopy ¶
func (in *PodNetworkingSpec) DeepCopy() *PodNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkingSpec.
func (*PodNetworkingSpec) DeepCopyInto ¶
func (in *PodNetworkingSpec) DeepCopyInto(out *PodNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodNetworkingStatus ¶
type PodNetworkingStatus struct { // Status is the status for crd Status NetworkingStatus `json:"status,omitempty"` // vSwitches list for vSwitches VSwitches []VSwitch `json:"vSwitches,omitempty"` // UpdateAt the time status updated UpdateAt metav1.Time `json:"updateAt,omitempty"` // Message for the status Message string `json:"message,omitempty"` }
PodNetworkingStatus defines the observed state of PodNetworking
func (*PodNetworkingStatus) DeepCopy ¶
func (in *PodNetworkingStatus) DeepCopy() *PodNetworkingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkingStatus.
func (*PodNetworkingStatus) DeepCopyInto ¶
func (in *PodNetworkingStatus) DeepCopyInto(out *PodNetworkingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseStrategy ¶
type ReleaseStrategy string
ReleaseStrategy is the type for ip release strategy
type Route ¶ added in v1.1.1
type Route struct {
Dst string `json:"dst,omitempty"`
}
func (*Route) DeepCopy ¶ added in v1.1.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶ added in v1.1.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Selector ¶
type Selector struct { PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"` NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"` }
Selector is for pod or namespace
func (*Selector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector.
func (*Selector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.