1.6 KiB
External Interfaces
Key: externalInterfaces
Info:
- Type:
list - Default:
[] - Helm Template: ❌
Can be defined in:
.Values.externalInterfaces
It's used in SCALE GUI. Configuration added in this key (from the GUI),
is parsed from the middleware. Middleware then injects 2 other lists.
ixExternalInterfacesConfiguration andixExternalInterfacesConfigurationNames.
Which are parsed from the Chart to create the objects.
Examples:
externalInterfaces:
- hostInterface: ens4
ipam:
type: dhcp
With the above example middleware will output something like the bellow:
ixExternalInterfacesConfiguration: []
- '{"cniVersion": "0.3.1", "name": "ix-RELEASE-NAME-0", "type": "macvlan", "master": "ens4", "ipam": {"type": "dhcp"}}'
ixExternalInterfacesConfigurationNames: []
- ix-RELEASE-NAME-0
Chart will add an annotation to the deployment like this
k8s.v1.cni.cncf.io/networks: ix-RELEASE-NAME-0.
If more than one ixExternalInterfacesConfigurationNames presents,
annotation looks like k8s.v1.cni.cncf.io/networks: ix-RELEASE-NAME-0, ix-RELEASE-NAME-1.
Also for each item in ixExternalInterfacesConfiguration will create a
NetworkAttachmentDefinition object and adding the item to spec.config as is.
Name will be ix-RELEASE-NAME-$index
Other examples:
externalInterfaces:
- hostInterface: ens3
ipam:
type: static
# Only available when type equals static
staticIPConfigurations:
- 1.2.3.4
# Only available when type equals static
staticRoutes:
- destination: 1.2.3.4
gateway: 1.2.3.4
hostInterface values are generated from the SCALE GUI