VirtualIP¶
A Virtual IP (VIP)
in the Ironcore
ecosystem is an abstract network resource representing an IP address that is dynamically associated with an ironcore
networkInterface
, which in turn is linked to an ironcore machine/vm
.
Examaple VirtualIP Resource¶
apiVersion: networking.ironcore.dev/v1alpha1
kind: VirtualIP
metadata:
name: virtualip-sample
spec:
type: Public
ipFamily: IPv4
Key Fields¶
-
type
(string
): Currently supported type ispublic
, which allocates and routes a stable public IP. -
ipFamily
(string
):IPFamily
is the ip family of the VirtualIP. Supported values for IPFamily areIPv4
andIPv6
.
Reconciliation Process:¶
-
VirtualIP Creation: A VirtualIP resource is created, specifying attributes like
ipFamily
: IPv4 or IPv6 andType
: public -
Reconciliation and IP Assignment: The VirtualIP reconciler Creates or updates a corresponding APINet IP in Ironcore's APINet system. Ensures the IP is dynamically allocated and made available for use.
-
Error Handling: If the creation or update of the APINet IP fails, update the VirtualIP status to indicate it is unallocated. Requeue the reconciliation to retry the operation.
-
Synchronize Status: Update the VirtualIP status to reflect the actual state of the APINet IP. If successfully allocated, update the status with the assigned IP address.
for example:
status:
ip: 10.0.0.1 # This will be populated by the corresponding controller.