第 9 章 使用标签对负载均衡服务对象进行分组
标签是您可以添加到 OpenShift (RHOSO)负载均衡服务(octavia)对象中的任意字符串,以便将它们归类到组中。标签不会影响负载均衡对象的功能:负载均衡器、侦听器、池、成员、运行状况监视器、规则和策略。您可以在创建对象时添加标签,或者在对象创建后添加或删除标签。
通过将特定标签与负载平衡对象关联,您可以运行 list 命令来过滤属于一个或多个组的对象。在管理负载平衡服务资源的使用、分配和维护时,可以将对象过滤到一个或多个组中。也可以通过自动配置管理工具来利用标记对象的功能。
本节中包含的主题有:
9.1. 在创建负载均衡服务对象时添加标签
当您在 OpenShift (RHOSO)负载均衡服务(octavia)对象中创建 Red Hat OpenStack Services 时,您可以添加您选择的标签。当标签就位时,您可以使用对应的 loadbalancer list
命令过滤负载均衡器、侦听器、池、成员、运行状况监视器、规则和策略。
先决条件
-
管理员已为您创建一个项目,并为您提供了一个
clouds.yaml
文件来访问云。 python-openstackclient
软件包驻留在您的工作站上。$ dnf list installed python-openstackclient
流程
确认为您的云设置了系统
OS_CLOUD
变量:$ echo $OS_CLOUD my_cloud
如果需要,重置变量:
$ export OS_CLOUD=my_other_cloud
作为替代方案,您可以在每次运行
openstack
命令时添加--os-cloud <cloud_name
> 选项指定云名称。当为对象使用正确的带有
--tag <tag>
选项的create
命令创建负载均衡器时,为它添加一个标签(tag):- openstack loadbalancer create --tag <tag> …
- openstack loadbalancer listener create --tag <tag> …
- OpenStack loadbalancer pool create --tag <tag> …
- OpenStack loadbalancer member create --tag <tag> …
- openstack loadbalancer healthmonitor create --tag <tag> …
- OpenStack loadbalancer l7policy create --tag <tag> …
OpenStack loadbalancer l7rule create --tag <tag> …
注意标签可以是任何有效的 unicode 字符串,最大长度为 255 个字符。
$ openstack loadbalancer create --name lb1 \ --vip-subnet-id public_subnet --tag Finance --tag Sales
注意负载平衡服务对象可以具有一个或多个标签。对您要添加的每个附加标签重复这个选项。
$ openstack loadbalancer listener create --name listener1 --protocol HTTP --protocol-port 80 --tag Sales lb1
$ openstack loadbalancer pool create --name pool1 \ --lb-algorithm ROUND_ROBIN --listener listener1 \ --protocol HTTP --tag Sales
$ openstack loadbalancer member create --name member1 \ --subnet-id private_subnet --address 192.0.2.10 --protocol-port 80 \ --tag Sales pool1
$ openstack loadbalancer healthmonitor create --name healthmon1 \ --delay 15 --max-retries 4 --timeout 10 --type HTTP --url-path / \ --tag Sales pool1
$ openstack loadbalancer l7policy create --action REDIRECT_PREFIX \ --redirect-prefix https://www.example.com/ \ --name policy1 http_listener --tag Sales
$ openstack loadbalancer l7rule create --compare-type STARTS_WITH \ --type PATH --value / --tag Sales policy1
验证
确认您创建的对象存在,并且包含您为对象使用适当的
show
命令添加的标签。示例
在本例中,
show
命令在 loadbalancer,lb1
上运行:$ openstack loadbalancer show lb1
输出示例
+---------------------+--------------------------------------+ | admin_state_up | True | | availability_zone | None | | created_at | 2024-08-06T19:34:15 | | description | | | flavor_id | None | | id | 7975374b-3367-4436-ab19-2d79d8c1f29b | | listeners | | | name | lb1 | | operating_status | ONLINE | | pools | | | project_id | 2eee3b86ca404cdd977281dac385fd4e | | provider | amphora | | provisioning_status | ACTIVE | | updated_at | 2024-08-07T13:30:17 | | vip_address | 172.24.3.76 | | vip_network_id | 4c241fc4-95eb-491a-affe-26c53a8805cd | | vip_port_id | 9978a598-cc34-47f7-ba28-49431d570fd1 | | vip_qos_policy_id | None | | vip_subnet_id | e999d323-bd0f-4469-974f-7f66d427e507 | | tags | Finance | | | Sales | +---------------------+--------------------------------------+