def METHOD_NAME(self, node_labels: List[Dict]):
    """设置标签
    :param node_labels: 要设置的标签信息，格式: [{"node_name": "", "labels": {"key": "val"}}]
    NOTE: 如果要删除某个label时，不建议使用replace，可以把要删除的label的值设置为None
    """
    filter_labels = self.filter_nodes_field_data(
        "labels", [label["node_name"] for label in node_labels], node_id_field="name", default_data={}
    )
    # 比对数据，当label在集群节点中存在，而变更的数据中不存在，则需要在变更的数据中设置为None
    for node in node_labels:
        labels = filter_labels.get(node["node_name"])
        # 设置要删除key的值为None
        for key in set(labels) - set(node["labels"]):
            node["labels"][key] = None
    # 下发的body格式: {"metadata": {"labels": {"demo": "demo"}}}
    tasks = [
        functools.partial(self.patch, {"metadata": {"labels": l["labels"]}}, l["node_name"]) for l in node_labels
    ]
    # 当有操作失败的，抛出异常
    async_run(tasks)