创建或更新自动伸缩策略 API

编辑

创建或更新自动伸缩策略 API

编辑

此功能设计为由 Elasticsearch ServiceElastic Cloud EnterpriseElastic Cloud on Kubernetes 间接使用。不支持直接使用。

创建或更新一个 自动伸缩策略。

请求

编辑
resp = client.autoscaling.put_autoscaling_policy(
    name="<name>",
    policy={
        "roles": [],
        "deciders": {
            "fixed": {}
        }
    },
)
print(resp)
const response = await client.autoscaling.putAutoscalingPolicy({
  name: "<name>",
  policy: {
    roles: [],
    deciders: {
      fixed: {},
    },
  },
});
console.log(response);
PUT /_autoscaling/policy/<name>
{
  "roles": [],
  "deciders": {
    "fixed": {
    }
  }
}

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须拥有 manage_autoscaling 集群权限 才能使用此 API。
  • 如果启用了操作员权限功能,则只有操作员用户才能使用此 API。

描述

编辑

此 API 使用提供的名称创建一个自动伸缩策略。有关可用的决策器,请参阅 自动伸缩决策器

查询参数

编辑
master_timeout
(可选,时间单位)等待主节点的时间段。如果主节点在超时到期之前不可用,则请求将失败并返回错误。默认为 30s。也可以设置为 -1,表示请求永远不应超时。
timeout
(可选,时间单位)在更新集群元数据后,等待集群中所有相关节点响应的时间段。如果在超时到期之前未收到任何响应,则集群元数据更新仍然适用,但响应将表明它未完全确认。默认为 30s。也可以设置为 -1,表示请求永远不应超时。

示例

编辑

此示例使用固定的自动伸缩决策器创建一个名为 my_autoscaling_policy 的自动伸缩策略,该策略应用于具有(仅)"data_hot" 角色的节点集。

resp = client.autoscaling.put_autoscaling_policy(
    name="my_autoscaling_policy",
    policy={
        "roles": [
            "data_hot"
        ],
        "deciders": {
            "fixed": {}
        }
    },
)
print(resp)
const response = await client.autoscaling.putAutoscalingPolicy({
  name: "my_autoscaling_policy",
  policy: {
    roles: ["data_hot"],
    deciders: {
      fixed: {},
    },
  },
});
console.log(response);
PUT /_autoscaling/policy/my_autoscaling_policy
{
  "roles" : [ "data_hot" ],
  "deciders": {
    "fixed": {
    }
  }
}

API 返回以下结果

{
  "acknowledged": true
}