Available with limitations in: SE, SE+, CSE Lite (1.64)
Available without limitations in: EE
The module has 6 alerts.
The module is not enabled by default in any bundles.
The module is configured using the ModuleConfig custom resource named metallb
(learn more about setting up Deckhouse…).
Example of the ModuleConfig/metallb
resource for configuring the module:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: metallb
spec:
version: 2
enabled: true
settings: # <-- Module parameters from the "Parameters" section below.
Parameters
Schema version: 2
Examples:
bgpPeers:
- peer-address: 192.168.1.1
peer-asn: 1111
my-asn: 2222
source-address: 192.168.1.2
hold-time: 10s
node-selector:
matchLabels:
node: test
addressPools:
- name: my-pool-bgp
protocol: bgp
addresses:
- 192.168.100.1-192.168.100.10
- 192.168.101.0/24
bgp-advertisements:
- aggregation-length: 32
localpref: 100
communities:
- no-advertise
bgpCommunities:
no-advertise: 65535:65282
speaker:
nodeSelector:
mylabel: speaker
addressPools:
- name: my-pool-l2
protocol: layer2
addresses:
- 192.168.100.1-192.168.100.10
- 192.168.101.0/24
speaker:
nodeSelector:
mylabel: speaker
tolerations:
- key: dedicated
operator: Equal
value: speaker
- array of objects
A list of IP ranges to assign to services.
Format — a data array similar to that of MetalLB’s.
Default:
[]
- array of strings
Keys from the bgpCommunities parameter to be associated with the announcement.
Example:
communities: - no-advertise
- string
The name of the pool (you can specify it using the service annotation as follows:
metallb.universe.tf/address-pool: <name>
). It should conform to RFC 1123: dot-separated parts in lowercase, consists of alphanumeric characters, ‘-‘. Each part must start and end with an alphanumeric character.Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- array of objects
A list of external BGP routers to use with the module.
Format — a data array similar to that of MetalLB’s.
The parameter is optional if only the
layer2
mode is used to announce services.Default:
[]
- integer or string
The timeout after which the neighboring BGP peer is considered dead. This value is divided by three to get the keep-alive interval.
The recommended value is
3s
(i.e., keep-alive packets are sent once per second). Note that the BGP protocol does not support values lower than this. By default, the parameter is set to90s
(i.e., keep-alive packets are sent every 30 seconds).Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- object
The additional pseudo-selector implemented by the speaker application. It selects nodes that are allowed to connect to external BGP routers. Do not confuse it with
speaker.nodeSelector
andnodeSelector
.An optional parameter.
The format is
matchLabels
ormatchExpressions
.
- object
A selector for the main controller. It is the same as the Pod’s
spec.nodeSelector
parameter in Kubernetes.If the parameter is omitted or
false
, it will be determined automatically. - object
Parameters of the
speaker
component, which announces services (usingbgp
orlayer2
(LVS) routing protocol) and routes application traffic to its node.- object
Required value
A selector for the speaker DaemonSet. It is the same as the Pod’s
spec.nodeSelector
parameter in Kubernetes.If the parameter is omitted or
false
, it will be determined automatically. - array of objects
Tolerations for the speaker DaemonSet. They are the same as the Pod’s
spec.tolerations
parameter in Kubernetes.If the parameter is omitted or
false
, it will be determined automatically.
- array of objects
Tolerations for the main controller. They are the same as the Pod’s
spec.tolerations
parameter in Kubernetes.If the parameter is omitted or
false
, it will be determined automatically.