23.3. 配置 MetalLB 地址池
作为集群管理员,您可以添加、修改和删除地址池。MetalLB Operator 使用地址池自定义资源来设置 MetalLB 可分配给服务的 IP 地址。
23.3.1. 关于地址池自定义资源
下表中描述了地址池自定义资源的字段。
字段 | 类型 | 描述 |
---|---|---|
|
|
指定地址池的名称。添加服务时,您可以在 |
|
| 指定地址池的命名空间。指定 MetalLB Operator 使用的同一命名空间。 |
|
|
指定向对等节点发布负载均衡器 IP 地址的协议。唯一支持的值是 |
|
|
可选:指定 MetalLB 是否从这个池自动分配 IP 地址。如果要使用 |
|
| 指定分配给服务的 MetalLB 的 IP 地址列表。您可以在单个池中指定多个范围。以 CIDR 表示法指定每个范围,或者指定为以连字符隔开的起始和结束 IP 地址。 |
23.3.2. 配置地址池
作为集群管理员,您可以向集群添加地址池,以控制 MetaLLB 可分配给负载均衡器服务的 IP 地址。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
特权的用户身份登录。
流程
创建一个包含类似以下示例内容的文件,如
addresspool.yaml
:apiVersion: metallb.io/v1alpha1 kind: AddressPool metadata: namespace: metallb-system name: doc-example spec: protocol: layer2 addresses: - 203.0.113.1-203.0.113.10 - 203.0.113.65-203.0.113.75
为地址池应用配置:
$ oc apply -f addresspool.yaml
验证
查看地址池:
$ oc describe -n metallb-system addresspool doc-example
输出示例
Name: doc-example Namespace: metallb-system Labels: <none> Annotations: <none> API Version: metallb.io/v1alpha1 Kind: AddressPool Metadata: ... Spec: Addresses: 203.0.113.1-203.0.113.10 203.0.113.65-203.0.113.75 Auto Assign: true Protocol: layer2 Events: <none>
确认输出中显示了地址池名称,如 doc-example
,并且 IP 地址范围显示在输出中。
23.3.3. 地址池配置示例
23.3.3.1. 示例:IPv4 和 CIDR 范围
您可以使用 CIDR 表示法指定 IP 地址范围。您可以将 CIDR 表示法与使用连字符分隔下限和上限的表示法合并。
apiVersion: metallb.io/v1beta1 kind: AddressPool metadata: name: doc-example-cidr namespace: metallb-system spec: protocol: layer2 addresses: - 192.168.100.0/24 - 192.168.200.0/24 - 192.168.255.1-192.168.255.5
23.3.3.2. 示例:保留 IP 地址
您可以将 autoAssign
字段设置为 false
,以防止 MetalLB 自动从池中分配 IP 地址。添加服务时,您可以从池中请求特定的 IP 地址,或者在注解中指定池名称从池中请求任何 IP 地址。
apiVersion: metallb.io/v1beta1 kind: AddressPool metadata: name: doc-example-reserved namespace: metallb-system spec: protocol: layer2 addresses: - 10.0.100.0/28 autoAssign: false
23.3.3.3. 示例:IPv6 地址池
您可以添加使用 IPv6 的地址池。以下示例显示了单个 IPv6 范围。但是,您可以像几个 IPv4 示例一样,在 addresses
列表中指定多个范围。
apiVersion: metallb.io/v1beta1 kind: AddressPool metadata: name: doc-example-ipv6 namespace: metallb-system spec: protocol: layer2 addresses: - 2002:2:2::1-2002:2:2::100