第 11 章 使用标签对负载均衡服务对象进行分组
标签是您可以添加到 OpenShift (RHOSO)负载均衡服务(octavia)对象中的任意字符串,以便将它们归类到组中。标签不会影响负载均衡对象的功能:负载均衡器、侦听器、池、成员、运行状况监视器、规则和策略。您可以在创建对象时添加标签,或者在对象创建后添加或删除标签。
通过将特定标签与负载平衡对象关联,您可以运行 list 命令来过滤属于一个或多个组的对象。在管理负载平衡服务资源的使用、分配和维护时,可以将对象过滤到一个或多个组中。也可以通过自动配置管理工具来利用标记对象的功能。
本节中包含的主题有:
11.1. 在创建负载均衡服务对象时添加标签 复制链接链接已复制到粘贴板!
当您在 OpenShift (RHOSO)负载均衡服务(octavia)对象中创建 Red Hat OpenStack Services 时,您可以添加您选择的标签。当标签就位时,您可以使用对应的 loadbalancer list 命令过滤负载均衡器、侦听器、池、成员、运行状况监视器、规则和策略。
先决条件
-
管理员已为您创建一个项目,并为您提供了一个
clouds.yaml文件来访问云。 python-openstackclient软件包驻留在您的工作站上。dnf list installed python-openstackclient
$ dnf list installed python-openstackclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
确认为您的云设置了系统
OS_CLOUD变量:echo $OS_CLOUD my_cloud
$ echo $OS_CLOUD my_cloudCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果需要,重置变量:
export OS_CLOUD=my_other_cloud
$ export OS_CLOUD=my_other_cloudCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作为替代方案,您可以在每次运行
openstack命令时添加--os-cloud <cloud_name> 选项指定云名称。当为对象使用正确的带有
--tag <tag>选项的create命令创建负载均衡器时,为它添加一个标签(tag):注意标签可以是任何有效的 unicode 字符串,最大长度为 255 个字符。
- 示例 - 创建并标记负载均衡器
在这个示例中,负载均衡器
lb1被创建并带有两个标签Finance和Sales:openstack loadbalancer create --name lb1 \ --vip-subnet-id public_subnet --tag Finance --tag Sales --wait
$ openstack loadbalancer create --name lb1 \ --vip-subnet-id public_subnet --tag Finance --tag Sales --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意负载平衡服务对象可以具有一个或多个标签。对您要添加的每个附加标签重复这个选项。
- 示例 - 创建并标记监听程序
在这个示例中,监听程序
listener1被创建并带有一个标签Sales:openstack loadbalancer listener create --name listener1 --protocol HTTP --protocol-port 80 --tag Sales lb1 --wait
$ openstack loadbalancer listener create --name listener1 --protocol HTTP --protocol-port 80 --tag Sales lb1 --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 示例 - 创建并标记池
在本例中,池
pool1被创建,标签为Sales:openstack loadbalancer pool create --name pool1 \ --lb-algorithm ROUND_ROBIN --listener listener1 \ --protocol HTTP --tag Sales --wait
$ openstack loadbalancer pool create --name pool1 \ --lb-algorithm ROUND_ROBIN --listener listener1 \ --protocol HTTP --tag Sales --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 示例 - 在池中创建成员并为其标记
在这个示例中,在
pool1中创建成员192.0.2.10,标签为Sales:openstack loadbalancer member create --name member1 \ --subnet-id private_subnet --address 192.0.2.10 --protocol-port 80 \ --tag Sales pool1 --wait
$ openstack loadbalancer member create --name member1 \ --subnet-id private_subnet --address 192.0.2.10 --protocol-port 80 \ --tag Sales pool1 --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 示例 - 创建并标记运行状况监控器
在这个示例中,健康监控器
healthmon1被创建,带有一个标签Sales:openstack loadbalancer healthmonitor create --name healthmon1 \ --delay 15 --max-retries 4 --timeout 10 --type HTTP --url-path / \ --tag Sales pool1 --wait
$ openstack loadbalancer healthmonitor create --name healthmon1 \ --delay 15 --max-retries 4 --timeout 10 --type HTTP --url-path / \ --tag Sales pool1 --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 示例 - 创建并标记 L7 策略
在本例中,使用标签
Sales创建 L7 策略policy1:openstack loadbalancer l7policy create --action REDIRECT_PREFIX \ --redirect-prefix https://www.example.com/ \ --name policy1 http_listener --tag Sales --wait
$ openstack loadbalancer l7policy create --action REDIRECT_PREFIX \ --redirect-prefix https://www.example.com/ \ --name policy1 http_listener --tag Sales --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 示例 - 创建并标记 L7 规则
在本例中,创建有标签
Sales的 L7 规则rule1:openstack loadbalancer l7rule create --compare-type STARTS_WITH \ --type PATH --value / --tag Sales policy1 --wait
$ openstack loadbalancer l7rule create --compare-type STARTS_WITH \ --type PATH --value / --tag Sales policy1 --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确认您创建的对象存在,并且包含您为对象使用适当的
show命令添加的标签。- 示例
在本例中,
show命令在 loadbalancer,lb1上运行:openstack loadbalancer show lb1
$ openstack loadbalancer show lb1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow