Networking
Packages:
networking.ironcore.dev/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Resource Types:
LoadBalancer
LoadBalancer is the Schema for the LoadBalancer API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
||||||||||||
kind string |
LoadBalancer |
||||||||||||
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||
spec LoadBalancerSpec |
|
||||||||||||
status LoadBalancerStatus |
LoadBalancerRouting
LoadBalancerRouting is the Schema for the loadbalancerroutings API
Field | Description |
---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
kind string |
LoadBalancerRouting |
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
networkRef github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference |
NetworkRef is the network the load balancer is assigned to. |
destinations []LoadBalancerDestination |
Destinations are the destinations for an LoadBalancer. |
NATGateway
NATGateway is the Schema for the NATGateway API
Field | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
||||||||
kind string |
NATGateway |
||||||||
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||
spec NATGatewaySpec |
|
||||||||
status NATGatewayStatus |
Network
Network is the Schema for the network API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
||||||
kind string |
Network |
||||||
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||
spec NetworkSpec |
|
||||||
status NetworkStatus |
NetworkInterface
NetworkInterface is the Schema for the networkinterfaces API
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
||||||||||||||||
kind string |
NetworkInterface |
||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||||||
spec NetworkInterfaceSpec |
|
||||||||||||||||
status NetworkInterfaceStatus |
NetworkPolicy
NetworkPolicy is the Schema for the networkpolicies API
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
||||||||||
kind string |
NetworkPolicy |
||||||||||
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||
spec NetworkPolicySpec |
|
||||||||||
status NetworkPolicyStatus |
VirtualIP
VirtualIP is the Schema for the virtualips API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string |
networking.ironcore.dev/v1alpha1
|
||||||
kind string |
VirtualIP |
||||||
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||
spec VirtualIPSpec |
|
||||||
status VirtualIPStatus |
EphemeralPrefixSource
(Appears on:IPSource, PrefixSource)
EphemeralPrefixSource contains the definition to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) Prefix.
Field | Description |
---|---|
prefixTemplate github.com/ironcore-dev/ironcore/api/ipam/v1alpha1.PrefixTemplateSpec |
PrefixTemplate is the template for the Prefix. |
EphemeralVirtualIPSource
(Appears on:VirtualIPSource)
EphemeralVirtualIPSource contains the definition to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) VirtualIP.
Field | Description |
---|---|
virtualIPTemplate VirtualIPTemplateSpec |
VirtualIPTemplate is the template for the VirtualIP. |
IPBlock
(Appears on:NetworkPolicyPeer)
IPBlock specifies an ip block with optional exceptions.
Field | Description |
---|---|
cidr github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix |
CIDR is a string representing the ip block. |
except []github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix |
Except is a slice of CIDRs that should not be included within the specified CIDR. Values will be rejected if they are outside CIDR. |
IPSource
(Appears on:LoadBalancerSpec, NetworkInterfaceSpec)
IPSource is the definition of how to obtain an IP.
Field | Description |
---|---|
value github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
Value specifies an IP by using an IP literal. |
ephemeral EphemeralPrefixSource |
Ephemeral specifies an IP by creating an ephemeral Prefix to allocate the IP with. |
LoadBalancerDestination
(Appears on:LoadBalancerRouting)
LoadBalancerDestination is the destination of the load balancer.
Field | Description |
---|---|
ip github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
IP is the target IP. |
targetRef LoadBalancerTargetRef |
TargetRef is the target providing the destination. |
LoadBalancerPort
(Appears on:LoadBalancerSpec)
Field | Description |
---|---|
protocol Kubernetes core/v1.Protocol |
Protocol is the protocol the load balancer should allow. If not specified, defaults to TCP. |
port int32 |
Port is the port to allow. |
endPort int32 |
EndPort marks the end of the port range to allow. If unspecified, only a single port, Port, will be allowed. |
LoadBalancerSpec
(Appears on:LoadBalancer)
LoadBalancerSpec defines the desired state of LoadBalancer
Field | Description |
---|---|
type LoadBalancerType |
Type is the type of LoadBalancer. |
ipFamilies []Kubernetes core/v1.IPFamily |
IPFamilies are the ip families the load balancer should have. |
ips []IPSource |
IPs are the ips to use. Can only be used when Type is LoadBalancerTypeInternal. |
networkRef Kubernetes core/v1.LocalObjectReference |
NetworkRef is the Network this LoadBalancer should belong to. |
networkInterfaceSelector Kubernetes meta/v1.LabelSelector |
NetworkInterfaceSelector defines the NetworkInterfaces for which this LoadBalancer should be applied |
ports []LoadBalancerPort |
Ports are the ports the load balancer should allow. |
LoadBalancerStatus
(Appears on:LoadBalancer)
LoadBalancerStatus defines the observed state of LoadBalancer
Field | Description |
---|---|
ips []github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
IPs are the IPs allocated for the load balancer. |
LoadBalancerTargetRef
(Appears on:LoadBalancerDestination)
LoadBalancerTargetRef is a load balancer target.
Field | Description |
---|---|
uid k8s.io/apimachinery/pkg/types.UID |
UID is the UID of the target. |
name string |
Name is the name of the target. |
providerID string |
ProviderID is the provider internal id of the target. |
LoadBalancerType
(string
alias)
(Appears on:LoadBalancerSpec)
LoadBalancerType is a type of LoadBalancer.
Value | Description |
---|---|
"Internal" |
LoadBalancerTypeInternal is a LoadBalancer that allocates and routes network-internal, stable IPs. |
"Public" |
LoadBalancerTypePublic is a LoadBalancer that allocates and routes a stable public IP. |
NATGatewaySpec
(Appears on:NATGateway)
NATGatewaySpec defines the desired state of NATGateway
Field | Description |
---|---|
type NATGatewayType |
Type is the type of NATGateway. |
ipFamily Kubernetes core/v1.IPFamily |
IPFamily is the ip family the NAT gateway should have. |
networkRef Kubernetes core/v1.LocalObjectReference |
NetworkRef is the Network this NATGateway should belong to. |
portsPerNetworkInterface int32 |
PortsPerNetworkInterface defines the number of concurrent connections per target network interface. Has to be a power of 2. If empty, 2048 (DefaultPortsPerNetworkInterface) is the default. |
NATGatewayStatus
(Appears on:NATGateway)
NATGatewayStatus defines the observed state of NATGateway
Field | Description |
---|---|
ips []github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
IPs are the IPs allocated for the NAT gateway. |
NATGatewayType
(string
alias)
(Appears on:NATGatewaySpec)
NATGatewayType is a type of NATGateway.
Value | Description |
---|---|
"Public" |
NATGatewayTypePublic is a NATGateway that allocates and routes a stable public IP. |
NetworkInterfaceSpec
(Appears on:NetworkInterface, NetworkInterfaceTemplateSpec)
NetworkInterfaceSpec defines the desired state of NetworkInterface
Field | Description |
---|---|
providerID string |
ProviderID is the provider-internal ID of the network interface. |
networkRef Kubernetes core/v1.LocalObjectReference |
NetworkRef is the Network this NetworkInterface is connected to |
machineRef github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference |
MachineRef is the Machine this NetworkInterface is used by |
ipFamilies []Kubernetes core/v1.IPFamily |
IPFamilies defines which IPFamilies this NetworkInterface is supporting |
ips []IPSource |
IPs is the list of provided IPs or ephemeral IPs which should be assigned to this NetworkInterface. |
prefixes []PrefixSource |
Prefixes is the list of provided prefixes or ephemeral prefixes which should be assigned to this NetworkInterface. |
virtualIP VirtualIPSource |
VirtualIP specifies the virtual ip that should be assigned to this NetworkInterface. |
attributes map[string]string |
Attributes are provider-specific attributes for the network interface. |
NetworkInterfaceState
(string
alias)
(Appears on:NetworkInterfaceStatus)
NetworkInterfaceState is the ironcore state of a NetworkInterface.
Value | Description |
---|---|
"Available" |
NetworkInterfaceStateAvailable is used for any NetworkInterface where all properties are valid. |
"Error" |
NetworkInterfaceStateError is used for any NetworkInterface where any property has an error. |
"Pending" |
NetworkInterfaceStatePending is used for any NetworkInterface that is pending. |
NetworkInterfaceStatus
(Appears on:NetworkInterface)
NetworkInterfaceStatus defines the observed state of NetworkInterface
Field | Description |
---|---|
state NetworkInterfaceState |
State is the NetworkInterfaceState of the NetworkInterface. |
lastStateTransitionTime Kubernetes meta/v1.Time |
LastStateTransitionTime is the last time the State transitioned from one value to another. |
ips []github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
IPs represent the effective IP addresses of the NetworkInterface. |
prefixes []github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix |
Prefixes represent the prefixes routed to the NetworkInterface. |
virtualIP github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
VirtualIP is any virtual ip assigned to the NetworkInterface. |
NetworkInterfaceTemplateSpec
NetworkInterfaceTemplateSpec is the specification of a NetworkInterface template.
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||||||
spec NetworkInterfaceSpec |
|
NetworkPeering
(Appears on:NetworkSpec)
NetworkPeering defines a network peering with another network.
Field | Description |
---|---|
name string |
Name is the semantical name of the network peering. |
networkRef NetworkPeeringNetworkRef |
NetworkRef is the reference to the network to peer with. An empty namespace indicates that the target network resides in the same namespace as the source network. |
prefixes []PeeringPrefix |
Prefixes is a list of prefixes that we want only to be exposed to the peered network, if no prefixes are specified no filtering will be done. |
NetworkPeeringClaimRef
(Appears on:NetworkSpec)
Field | Description |
---|---|
namespace string |
Namespace is the namespace of the referenced entity. If empty, the same namespace as the referring resource is implied. |
name string |
Name is the name of the referenced entity. |
uid k8s.io/apimachinery/pkg/types.UID |
UID is the UID of the referenced entity. |
NetworkPeeringNetworkRef
(Appears on:NetworkPeering)
NetworkPeeringNetworkRef is a reference to a network to peer with.
Field | Description |
---|---|
namespace string |
Namespace is the namespace of the referenced entity. If empty, the same namespace as the referring resource is implied. |
name string |
Name is the name of the referenced entity. |
NetworkPeeringState
(string
alias)
(Appears on:NetworkPeeringStatus)
NetworkPeeringState is the state a NetworkPeering can be in
Value | Description |
---|---|
"Error" |
NetworkPeeringStateError signals that the network peering is in error state. |
"Pending" |
NetworkPeeringStatePending signals that the network peering is not applied. |
"Ready" |
NetworkPeeringStateReady signals that the network peering is ready. |
NetworkPeeringStatus
(Appears on:NetworkStatus)
NetworkPeeringStatus is the status of a network peering.
Field | Description |
---|---|
name string |
Name is the name of the network peering. |
state NetworkPeeringState |
State represents the network peering state |
prefixes []PeeringPrefixStatus |
Prefixes contains the prefixes exposed to the peered network |
NetworkPolicyCondition
(Appears on:NetworkPolicyStatus)
NetworkPolicyCondition is one of the conditions of a network policy.
Field | Description |
---|---|
type NetworkPolicyConditionType |
Type is the type of the condition. |
status Kubernetes core/v1.ConditionStatus |
Status is the status of the condition. |
reason string |
Reason is a machine-readable indication of why the condition is in a certain state. |
message string |
Message is a human-readable explanation of why the condition has a certain reason / state. |
observedGeneration int64 |
ObservedGeneration represents the .metadata.generation that the condition was set based upon. |
lastTransitionTime Kubernetes meta/v1.Time |
LastTransitionTime is the last time the status of a condition has transitioned from one state to another. |
NetworkPolicyConditionType
(string
alias)
(Appears on:NetworkPolicyCondition)
NetworkPolicyConditionType is a type a NetworkPolicyCondition can have.
NetworkPolicyEgressRule
(Appears on:NetworkPolicySpec)
NetworkPolicyEgressRule describes a rule to regulate egress traffic with.
Field | Description |
---|---|
ports []NetworkPolicyPort |
Ports specifies the list of destination ports that can be called with this rule. Each item in this list is combined using a logical OR. Empty matches all ports. As soon as a single item is present, only these ports are allowed. |
to []NetworkPolicyPeer |
To specifies the list of destinations which the selected network interfaces should be able to send traffic to. Fields are combined using a logical OR. Empty matches all destinations. As soon as a single item is present, only these peers are allowed. |
NetworkPolicyIngressRule
(Appears on:NetworkPolicySpec)
NetworkPolicyIngressRule describes a rule to regulate ingress traffic with.
Field | Description |
---|---|
ports []NetworkPolicyPort |
Ports specifies the list of ports which should be made accessible for this rule. Each item in this list is combined using a logical OR. Empty matches all ports. As soon as a single item is present, only these ports are allowed. |
from []NetworkPolicyPeer |
From specifies the list of sources which should be able to send traffic to the selected network interfaces. Fields are combined using a logical OR. Empty matches all sources. As soon as a single item is present, only these peers are allowed. |
NetworkPolicyPeer
(Appears on:NetworkPolicyEgressRule, NetworkPolicyIngressRule)
NetworkPolicyPeer describes a peer to allow traffic to / from.
Field | Description |
---|---|
objectSelector github.com/ironcore-dev/ironcore/api/core/v1alpha1.ObjectSelector |
ObjectSelector selects peers with the given kind matching the label selector. Exclusive with other peer specifiers. |
ipBlock IPBlock |
IPBlock specifies the ip block from or to which network traffic may come. |
NetworkPolicyPort
(Appears on:NetworkPolicyEgressRule, NetworkPolicyIngressRule)
NetworkPolicyPort describes a port to allow traffic on
Field | Description |
---|---|
protocol Kubernetes core/v1.Protocol |
Protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP. |
port int32 |
The port on the given protocol. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched. |
endPort int32 |
EndPort indicates that the range of ports from Port to EndPort, inclusive, should be allowed by the policy. This field cannot be defined if the port field is not defined. The endPort must be equal or greater than port. |
NetworkPolicySpec
(Appears on:NetworkPolicy)
NetworkPolicySpec defines the desired state of NetworkPolicy.
Field | Description |
---|---|
networkRef Kubernetes core/v1.LocalObjectReference |
NetworkRef is the network to regulate using this policy. |
networkInterfaceSelector Kubernetes meta/v1.LabelSelector |
NetworkInterfaceSelector selects the network interfaces that are subject to this policy. |
ingress []NetworkPolicyIngressRule |
Ingress specifies rules for ingress traffic. |
egress []NetworkPolicyEgressRule |
Egress specifies rules for egress traffic. |
policyTypes []PolicyType |
PolicyTypes specifies the types of policies this network policy contains. |
NetworkPolicyStatus
(Appears on:NetworkPolicy)
NetworkPolicyStatus defines the observed state of NetworkPolicy.
Field | Description |
---|---|
conditions []NetworkPolicyCondition |
Conditions are various conditions of the NetworkPolicy. |
NetworkSpec
(Appears on:Network)
NetworkSpec defines the desired state of Network
Field | Description |
---|---|
providerID string |
ProviderID is the provider-internal ID of the network. |
peerings []NetworkPeering |
(Optional)
Peerings are the network peerings with this network. |
incomingPeerings []NetworkPeeringClaimRef |
(Optional)
PeeringClaimRefs are the peering claim references of other networks. |
NetworkState
(string
alias)
(Appears on:NetworkStatus)
NetworkState is the state of a network.
Value | Description |
---|---|
"Available" |
NetworkStateAvailable means the network is ready to use. |
"Error" |
NetworkStateError means the network is in an error state. |
"Pending" |
NetworkStatePending means the network is being provisioned. |
NetworkStatus
(Appears on:Network)
NetworkStatus defines the observed state of Network
Field | Description |
---|---|
state NetworkState |
State is the state of the machine. |
peerings []NetworkPeeringStatus |
(Optional)
Peerings contains the states of the network peerings for the network. |
PeeringPrefix
(Appears on:NetworkPeering)
PeeringPrefixes defines prefixes to be exposed to the peered network
Field | Description |
---|---|
name string |
Name is the semantical name of the peering prefixes |
prefix github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix |
CIDR to be exposed to the peered network |
prefixRef Kubernetes core/v1.LocalObjectReference |
PrefixRef is the reference to the prefix to be exposed to peered network An empty namespace indicates that the prefix resides in the same namespace as the source network. |
PeeringPrefixStatus
(Appears on:NetworkPeeringStatus)
PeeringPrefixStatus lists prefixes exposed to peered network
Field | Description |
---|---|
name string |
Name is the name of the peering prefix |
prefix github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix |
CIDR exposed to the peered network |
PolicyType
(string
alias)
(Appears on:NetworkPolicySpec)
PolicyType is a type of policy.
Value | Description |
---|---|
"Egress" |
PolicyTypeEgress is a policy that describes egress traffic. |
"Ingress" |
PolicyTypeIngress is a policy that describes ingress traffic. |
PrefixSource
(Appears on:NetworkInterfaceSpec)
Field | Description |
---|---|
value github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix |
Value specifies a static prefix to use. |
ephemeral EphemeralPrefixSource |
Ephemeral specifies a prefix by creating an ephemeral ipam.Prefix to allocate the prefix with. |
VirtualIPSource
(Appears on:NetworkInterfaceSpec)
VirtualIPSource is the definition of how to obtain a VirtualIP.
Field | Description |
---|---|
virtualIPRef Kubernetes core/v1.LocalObjectReference |
VirtualIPRef references a VirtualIP to use. |
ephemeral EphemeralVirtualIPSource |
Ephemeral instructs to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) VirtualIP. |
VirtualIPSpec
(Appears on:VirtualIP, VirtualIPTemplateSpec)
VirtualIPSpec defines the desired state of VirtualIP
Field | Description |
---|---|
type VirtualIPType |
Type is the type of VirtualIP. |
ipFamily Kubernetes core/v1.IPFamily |
IPFamily is the ip family of the VirtualIP. |
targetRef github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference |
TargetRef references the target for this VirtualIP (currently only NetworkInterface). |
VirtualIPStatus
(Appears on:VirtualIP)
VirtualIPStatus defines the observed state of VirtualIP
Field | Description |
---|---|
ip github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP |
IP is the allocated IP, if any. |
VirtualIPTemplateSpec
(Appears on:EphemeralVirtualIPSource)
VirtualIPTemplateSpec is the specification of a VirtualIP template.
Field | Description | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||
spec VirtualIPSpec |
|
VirtualIPType
(string
alias)
(Appears on:VirtualIPSpec)
VirtualIPType is a type of VirtualIP.
Value | Description |
---|---|
"Public" |
VirtualIPTypePublic is a VirtualIP that allocates and routes a stable public IP. |
Generated with gen-crd-api-reference-docs