Skip to main content
Version: latest

VIP

The Vip defines a virtual IP address towards which external traffic can be attracted and load-balanced over a scaling set of target application pods.

As soon as a Vip has been applied to a working trench and attractor the VIP address will be announced by all FEs using BGP.

This resource must be created with label metadata.labels.trench to specify its owner reference trench.

API​

Example​

Here is an example of a IPv4 VIP object:

apiVersion: meridio.nordix.org/v1alpha1
kind: Vip
metadata:
name: vip-a-1-v4
labels:
trench: trench-a
spec:
address: "20.0.0.1/32"

Here is an example of a IPv6 VIP object:

apiVersion: meridio.nordix.org/v1alpha1
kind: Vip
metadata:
name: vip-a-1-v6
labels:
trench: trench-a
spec:
address: "2000::1/128"

Deployment​

After deploying the example from the previous section, the following resources have been created in Kubernetes:

$ kubectl get vips
NAME ADDRESS TRENCH
vip-a-1-v4 20.0.0.1/32 trench-a
vip-a-1-v6 2000::1/128 trench-a

No new resource has been deployed while deploying the VIPs, but the meridio-configuration-<trench-name> configmap has been configured.

The picture below represents a Kubernetes cluster with VIPs applied and highlighted in red: Installation-VIPs

Limitations​

  • VIP ranges are not supported. The prefix length must be /32 for IPv4, and /128 for IPv6.
  • .spec.address property is mandatory and immutable.
  • .metadata.labels.trench property is mandatory and immutable.

Configuration​

TODO: Update

NameTypeDescriptionRequiredDefault
namestringName of the VIPyes
addressstringThe virtual IPaddress. Both ipv4 and ipv6 addresses are supported. The VIP address must be a valid network prefix.yes
trenchstringName of the Trench the VIP belongs toyes