指定 community
的名称。
作为集群管理员,您可以配置一个社区别名,并在不同的广播中使用它。
community
自定义资源是社区别名的集合。用户可以定义命名别名,以便在使用 BGPAdvertisement
广播 ipAddressPools
时使用。下表描述了 community
自定义资源的字段。
|
字段 | 类型 | 描述 |
---|---|---|
|
|
指定 |
|
|
指定 |
|
|
指定可在 BGPAdvertisements 中使用的 BGP 社区别名列表。社区别名由名称(别名)和值(数字:数字)对组成。通过在其 |
字段 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
与给定名称对应的 BGP |
按如下方式配置 MetalLB,以便使用 BGP 协议广播 IPAddressPool
,并将社区别名设置为 NO_ADVERTISE 社区的数值。
在以下示例中,对等 BGP 路由器 doc-example-peer-community
会为 MetalLB 分配给服务的每个负载均衡器 IP 地址接收一个 203.0.113.200/32
路由和一个 fc00:f853:ccd:e799::1/128
路由。社区别名配置为 NO_ADVERTISE
社区。
安装 OpenShift CLI (oc
)。
以具有 cluster-admin
特权的用户身份登录。
创建一个 IP 地址池。
创建一个文件,例如 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
应用 IP 地址池的配置
$ oc apply -f ipaddresspool.yaml
创建一个名为 community1
的社区别名。
apiVersion: metallb.io/v1beta1
kind: Community
metadata:
name: community1
namespace: metallb-system
spec:
communities:
- name: NO_ADVERTISE
value: '65535:65282'
创建一个名为 doc-example-bgp-peer
的 BGP 对等体。
创建一个文件,例如 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
应用 BGP 对等体的配置
$ oc apply -f bgppeer.yaml
创建一个带有社区别名的 BGP 宣告。
创建一个文件,例如 bgpadvertisement.yaml
,内容如下例所示
apiVersion: metallb.io/v1beta1
kind: BGPAdvertisement
metadata:
name: bgp-community-sample
namespace: metallb-system
spec:
aggregationLength: 32
aggregationLengthV6: 128
communities:
- NO_ADVERTISE (1)
ipAddressPools:
- doc-example-bgp-community
peers:
- doc-example-peer
1 | 在此处指定 CommunityAlias.name ,而不是社区自定义资源 (CR) 名称。 |
应用配置
$ oc apply -f bgpadvertisement.yaml