API reference docs

Packages:

metallb.io/v1beta1

Resource Types:

    BFDProfile

    BFDProfile represents the settings of the bfd session that can be optionally associated with a BGP session.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    BFDProfileSpec


    receiveInterval
    uint32
    (Optional)

    The minimum interval that this system is capable of receiving control packets in milliseconds. Defaults to 300ms.

    transmitInterval
    uint32
    (Optional)

    The minimum transmission interval (less jitter) that this system wants to use to send BFD control packets in milliseconds. Defaults to 300ms

    detectMultiplier
    uint32
    (Optional)

    Configures the detection multiplier to determine packet loss. The remote transmission interval will be multiplied by this value to determine the connection loss detection timer.

    echoInterval
    uint32
    (Optional)

    Configures the minimal echo receive transmission interval that this system is capable of handling in milliseconds. Defaults to 50ms

    echoMode
    bool
    (Optional)

    Enables or disables the echo transmission mode. This mode is disabled by default, and not supported on multi hops setups.

    passiveMode
    bool
    (Optional)

    Mark session as passive: a passive session will not attempt to start the connection and will wait for control packets from peer before it begins replying.

    minimumTtl
    uint32
    (Optional)

    For multi hop sessions only: configure the minimum expected TTL for an incoming BFD control packet.

    status
    BFDProfileStatus

    BGPAdvertisement

    BGPAdvertisement allows to advertise the IPs coming from the selected IPAddressPools via BGP, setting the parameters of the BGP Advertisement.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    BGPAdvertisementSpec


    aggregationLength
    int32
    (Optional)

    The aggregation-length advertisement option lets you “roll up” the /32s into a larger prefix. Defaults to 32. Works for IPv4 addresses.

    aggregationLengthV6
    int32
    (Optional)

    The aggregation-length advertisement option lets you “roll up” the /128s into a larger prefix. Defaults to 128. Works for IPv6 addresses.

    localPref
    uint32
    (Optional)

    The BGP LOCAL_PREF attribute which is used by BGP best path algorithm, Path with higher localpref is preferred over one with lower localpref.

    communities
    []string
    (Optional)

    The BGP communities to be associated with the announcement. Each item can be a standard community of the form 1234:1234, a large community of the form large:1234:1234:1234 or the name of an alias defined in the Community CRD.

    ipAddressPools
    []string
    (Optional)

    The list of IPAddressPools to advertise via this advertisement, selected by name.

    ipAddressPoolSelectors
    []Kubernetes meta/v1.LabelSelector
    (Optional)

    A selector for the IPAddressPools which would get advertised via this advertisement. If no IPAddressPool is selected by this or by the list, the advertisement is applied to all the IPAddressPools.

    nodeSelectors
    []Kubernetes meta/v1.LabelSelector
    (Optional)

    NodeSelectors allows to limit the nodes to announce as next hops for the LoadBalancer IP. When empty, all the nodes having are announced as next hops.

    peers
    []string
    (Optional)

    Peers limits the bgppeer to advertise the ips of the selected pools to. When empty, the loadbalancer IP is announced to all the BGPPeers configured.

    status
    BGPAdvertisementStatus

    Community

    Community is a collection of aliases for communities. Users can define named aliases to be used in the BGPPeer CRD.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    CommunitySpec


    communities
    []CommunityAlias
    status
    CommunityStatus

    CommunityAlias

    Field Description
    name
    string

    The name of the alias for the community.

    value
    string

    The BGP community value corresponding to the given name. Can be a standard community of the form 1234:1234 or a large community of the form large:1234:1234:1234.

    IPAddressPool

    IPAddressPool represents a pool of IP addresses that can be allocated to LoadBalancer services.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    IPAddressPoolSpec


    addresses
    []string

    A list of IP address ranges over which MetalLB has authority. You can list multiple ranges in a single pool, they will all share the same settings. Each range can be either a CIDR prefix, or an explicit start-end range of IPs.

    autoAssign
    bool
    (Optional)

    AutoAssign flag used to prevent MetallB from automatic allocation for a pool.

    avoidBuggyIPs
    bool
    (Optional)

    AvoidBuggyIPs prevents addresses ending with .0 and .255 to be used by a pool.

    serviceAllocation
    ServiceAllocation
    (Optional)

    AllocateTo makes ip pool allocation to specific namespace and/or service. The controller will use the pool with lowest value of priority in case of multiple matches. A pool with no priority set will be used only if the pools with priority can’t be used. If multiple matching IPAddressPools are available it will check for the availability of IPs sorting the matching IPAddressPools by priority, starting from the highest to the lowest. If multiple IPAddressPools have the same priority, choice will be random.

    status
    IPAddressPoolStatus

    L2Advertisement

    L2Advertisement allows to advertise the LoadBalancer IPs provided by the selected pools via L2.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    L2AdvertisementSpec


    ipAddressPools
    []string
    (Optional)

    The list of IPAddressPools to advertise via this advertisement, selected by name.

    ipAddressPoolSelectors
    []Kubernetes meta/v1.LabelSelector
    (Optional)

    A selector for the IPAddressPools which would get advertised via this advertisement. If no IPAddressPool is selected by this or by the list, the advertisement is applied to all the IPAddressPools.

    nodeSelectors
    []Kubernetes meta/v1.LabelSelector
    (Optional)

    NodeSelectors allows to limit the nodes to announce as next hops for the LoadBalancer IP. When empty, all the nodes having are announced as next hops.

    interfaces
    []string
    (Optional)

    A list of interfaces to announce from. The LB IP will be announced only from these interfaces. If the field is not set, we advertise from all the interfaces on the host.

    status
    L2AdvertisementStatus

    ServiceAllocation

    ServiceAllocation defines ip pool allocation to namespace and/or service.

    Field Description
    priority
    int

    Priority priority given for ip pool while ip allocation on a service.

    namespaces
    []string

    Namespaces list of namespace(s) on which ip pool can be attached.

    namespaceSelectors
    []Kubernetes meta/v1.LabelSelector

    NamespaceSelectors list of label selectors to select namespace(s) for ip pool, an alternative to using namespace list.

    serviceSelectors
    []Kubernetes meta/v1.LabelSelector

    ServiceSelectors list of label selector to select service(s) for which ip pool can be used for ip allocation.


    metallb.io/v1beta2

    Resource Types:

      BGPPeer

      BGPPeer is the Schema for the peers API.

      Field Description
      metadata
      Kubernetes meta/v1.ObjectMeta
      Refer to the Kubernetes API documentation for the fields of the metadata field.
      spec
      BGPPeerSpec


      myASN
      uint32

      AS number to use for the local end of the session.

      peerASN
      uint32

      AS number to expect from the remote end of the session.

      peerAddress
      string

      Address to dial when establishing the session.

      sourceAddress
      string
      (Optional)

      Source address to use when establishing the session.

      peerPort
      uint16
      (Optional)

      Port to dial when establishing the session.

      holdTime
      Kubernetes meta/v1.Duration
      (Optional)

      Requested BGP hold time, per RFC4271.

      keepaliveTime
      Kubernetes meta/v1.Duration
      (Optional)

      Requested BGP keepalive time, per RFC4271.

      routerID
      string
      (Optional)

      BGP router ID to advertise to the peer

      nodeSelectors
      []Kubernetes meta/v1.LabelSelector
      (Optional)

      Only connect to this peer on nodes that match one of these selectors.

      password
      string
      (Optional)

      Authentication password for routers enforcing TCP MD5 authenticated sessions

      passwordSecret
      Kubernetes core/v1.SecretReference
      (Optional)

      passwordSecret is name of the authentication secret for BGP Peer. the secret must be of type “kubernetes.io/basic-auth”, and created in the same namespace as the MetalLB deployment. The password is stored in the secret as the key “password”.

      bfdProfile
      string
      (Optional)

      The name of the BFD Profile to be used for the BFD session associated to the BGP session. If not set, the BFD session won’t be set up.

      ebgpMultiHop
      bool
      (Optional)

      To set if the BGPPeer is multi-hops away. Needed for FRR mode only.

      vrf
      string
      (Optional)

      To set if we want to peer with the BGPPeer using an interface belonging to a host vrf

      status
      BGPPeerStatus

      Generated with gen-crd-api-reference-docs .


      Copyright © The MetalLB Contributors.
      Copyright © 2021 The Linux Foundation ®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page