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