跳转到内容
搜索文档

创建池

最后更新 查看 MarkdownAgent 设置

您可能不应直接在生产域名上开始,而应在测试或预发布域名上创建负载均衡器。根据基础设施设置,这可能需要对 monitor 和 pool 进行临时更改。

从测试域名开始可以让您在路由生产流量之前验证一切运行正常。

您可以在负载均衡器工作流中或 Pools(池) 选项卡内创建 pool:

  1. 前往 Load Balancing(负载均衡)

  2. 选择 Pools(池) 选项卡,然后选择 Create pool(创建池)

  3. 为您的 pool 输入以下信息:

  4. 对于每个 endpoint,输入以下信息:

    • 名称(必须唯一)
    • endpoint 地址或关联主机名
    • (可选)Virtual Network。当 endpoint 具有私有 IP 地址时必填。
    • Weight
    • (可选)点击 Add host header(添加主机标头) 设置主机名
    • (可选)流量将送达的目标端口。
  1. 对 pool 中的其他 endpoint 重复此过程。

  2. (可选)在 pool 上设置 Proximity Steering 的坐标。

  3. 在 pool 上更新以下信息:

    • Health Threshold(健康阈值)

      Health Threshold 是 pool 整体被视为健康并根据负载均衡器中的 pool 顺序接收流量所需的健康 endpoint 数量。增加此数值会使 pool 更可靠,但也更容易变为不健康。

    • Monitor:附加 monitor
    • Health Monitor Regions(健康监视器区域):选择是否从多个位置检查 pool 健康状态,这提高准确性但可能导致对 endpoint 的探测流量
    • Pool Notifications(池通知):您可以设置新警报——并查看现有警报——以便在 pool 启用或禁用时,或 pool/endpoint 的健康状态发生变化时收到通知。
  4. 完成后,选择 Save(保存)

有关完整属性列表,请参阅 Create Pool。如需 API 身份验证帮助,请参阅 Cloudflare API 文档

Required API token permissions

At least one of the following token permissions is required:
  • Load Balancing: Monitors and Pools Write
Create Poolbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/load_balancers/pools" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"description": "Primary data center - Provider XYZ",
		"name": "primary-dc-1",
		"enabled": false,
		"load_shedding": {
				"default_percent": 0,
				"default_policy": "random",
				"session_percent": 0,
				"session_policy": "hash"
		},
		"minimum_origins": 2,
		"monitor": "f1aba936b94213e5b8dca0c0dbf1f9cc",
		"check_regions": [
				"WEU",
				"ENAM"
		],
		"origins": [
				{
						"name": "app-server-1",
						"address": "0.0.0.0",
						"enabled": true,
						"weight": 0.56,
						"header": {
								"Host": [
										"example.com"
								]
						}
				}
		],
		"origin_steering": {
				"policy": "random"
		},
		"notification_filter": {
				"origin": {
						"disable": false,
						"healthy": null
				},
				"pool": {
						"disable": false,
						"healthy": null
				}
		}
	}'

响应包含新 pool 的完整定义。

Responsejson
{
  "success": true,
  "errors": [],
  "messages": [],
  "result": {
    "id": "17b5962d775c646f3f9725cbc7a53df4",
    "created_on": "2021-01-01T05:20:00.12345Z",
    "modified_on": "2021-01-01T05:20:00.12345Z",
    "description": "Primary data center - Provider XYZ",
    "name": "primary-dc-1",
    "enabled": false,
    "load_shedding": {
      "default_percent": 0,
      "default_policy": "random",
      "session_percent": 0,
      "session_policy": "hash"
    },
    "minimum_origins": 2,
    "monitor": "f1aba936b94213e5b8dca0c0dbf1f9cc",
    "check_regions": [
      "WEU",
      "ENAM"
    ],
    "origins": [
      {
        "name": "app-server-1",
        "address": "0.0.0.0",
        "enabled": true,
        "weight": 0.56,
        "header": {
          "Host": [
            "example.com"
          ]
        }
      }
    ],
    "origin_steering": {
      "policy": "random"
    },
    "notification_filter": {
      "origin": {
        "disable": false,
        "healthy": null
      },
      "pool": {
        "disable": false,
        "healthy": null
      }
    }
  }
}

创建 pool 后,您还需要创建新通知,并指定以下参数:

"alert_type": "load_balancing_health_alert",
"filters": {
  "pool_id": <<ARRAY_OF_INCLUDED_POOL_IDS>>,
  "new_health": <<ARRAY_OF_STATUS_TRIGGERS>> ["Unhealthy", "Healthy"],
  "event_source": <<ARRAY_OF_OBJECTS_WATCHED>> ["pool", "origin"]
}

这篇文档对您有帮助吗?