30.7. 配置社区别名


作为集群管理员,您可以配置一个社区别名并在不同的广告中使用它。

30.7.1. 关于社区自定义资源

community 自定义资源是社区的一个别名集合。用户可使用 BGPAdvertis 定义广告 ipAddressPools 时使用的命名别名。下表中描述了 community 自定义资源的字段。

注意

community CRD 仅适用于 BGPAdvertisement。

表 30.5. MetalLB 社区自定义资源
字段类型描述

metadata.name

string

指定 community 的名称。

metadata.namespace

string

指定 community 的命名空间。指定 MetalLB Operator 使用的同一命名空间。

spec.communities

string

指定分配给服务的 MetalLB 的 IP 地址列表。您可以在一个池中指定多个范围,它们会共享相同的设置。以 CIDR 表示法指定每个范围,或者指定为以连字符隔开的起始和结束 IP 地址。

表 30.6. CommunityAlias
字段类型描述

name

string

community 的别名名称。

value

string

与给定名称对应的 BGP community 值。

30.7.2. 使用 BGP 广告和社区别名配置 MetalLB

按如下所示配置 MetalLB,以便 BGP 协议广告 IPAddressPool,并将社区别名设置为 NO_ADVERTISE 社区的数字值。

在以下示例中,对等 BGP 路由器 doc-example-peer-community 接收一个 203.0.113.200/32 路由,以及一个 fc00:f853:ccd:e799::1/128 路由,每个 load-balancer IP 地址都分配给服务。使用 NO_ADVERTISE 社区配置了一个社区别名。

先决条件

  • 安装 OpenShift CLI(oc)。
  • 以具有 cluster-admin 特权的用户身份登录。

流程

  1. 创建 IP 地址池。

    1. 创建一个文件,如 ipaddresspool.yaml,其内容类似以下示例:

      apiVersion: metallb.io/v1beta1
      kind: IPAddressPool
      metadata:
        namespace: metallb-system
        name: doc-example-bgp-community
      spec:
        addresses:
          - 203.0.113.200/30
          - fc00:f853:ccd:e799::/124
    2. 应用 IP 地址池的配置:

      $ oc apply -f ipaddresspool.yaml
  2. 创建名为 community1 的社区别名。

    apiVersion: metallb.io/v1beta1
    kind: Community
    metadata:
      name: community1
      namespace: metallb-system
    spec:
      communities:
        - name: NO_ADVERTISE
        - value: '65535:65282'
  3. 创建一个名为 doc-example-bgp-peer 的 BGP peer。

    1. 创建一个文件,如 bgppeer.yaml,其内容类似以下示例:

      apiVersion: metallb.io/v1beta2
      kind: BGPPeer
      metadata:
        namespace: metallb-system
        name: doc-example-bgp-peer
      spec:
        peerAddress: 10.0.0.1
        peerASN: 64501
        myASN: 64500
        routerID: 10.10.10.10
    2. 应用 BGP peer 的配置:

      $ oc apply -f bgppeer.yaml
  4. 创建一个带有社区别名的 BGP 广告。

    1. 创建一个文件,如 bgpadvertisement.yaml,内容类似以下示例:

      apiVersion: metallb.io/v1beta1
      kind: BGPAdvertisement
      metadata:
        name: bgp-community-sample
        namespace: metallb-system
      spec:
        aggregationLength: 32
        aggregationLengthV6: 128
        communities:
          - community1
        ipAddressPools:
          - doc-example-bgp-community
        peers:
          - doc-example-peer
    2. 应用配置:

      $ oc apply -f bgpadvertisement.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.