文档首页/ 华为云UCS/ API参考/ API/ 容器舰队/ 更新联邦工作负载 - UpdateProxyUnitedWorkload
更新时间:2026-06-30 GMT+08:00

更新联邦工作负载 - UpdateProxyUnitedWorkload

功能介绍

更新联邦工作负载

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。

URI

PUT /v1/clustergroups/{clustergroupid}/unitedworkload

表1 路径参数

参数

是否必选

参数类型

描述

clustergroupid

是

String

容器舰队id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

否

String

身份认证信息,调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值

Content-Type

是

String

消息体的类型(格式),仅支持application/json

表3 请求Body参数

参数

是否必选

参数类型

描述

kind

否

String

资源类型,有以下取值:

  • Deployment:用于管理无状态应用

  • Service:实现服务发现和负载均衡

  • Ingress:管理对集群内服务的外部 HTTP/HTTPS 访问

  • ConfigMap:用于存储非敏感的配置数据

  • Secret:用于存储敏感信息

  • Job:用于运行一次性任务的资源

  • StatefulSet:用于管理有状态应用

  • DaemonSet:用于在每个节点上运行一个 Pod 的资源

  • PersistentVolumeClaim:用于向集群申请并使用持久化存储资源的声明

apiVersion

否

String

API版本

metadata

否

ObjectMeta object

工作负载元数据

template

否

Object

要部署的应用模板

propagationPolicy

否

PropagationPolicy object

资源在多个集群间传播的策略

overridePolicy

否

OverridePolicy object

资源覆盖策略

resourceBinding

否

ResourceBinding object

资源与传播策略的绑定关系

表4 PropagationPolicy

参数

是否必选

参数类型

描述

kind

否

String

API类型,固定值“PropagationPolicy”

apiVersion

否

String

API版本

metadata

否

ObjectMeta object

基本信息

spec

否

PropagationSpec object

传播策略的具体说明

表5 PropagationSpec

参数

是否必选

参数类型

描述

resourceSelectors

否

Array of ResourceSelector objects

资源选择器,用于选择要传播的资源

propagateDeps

否

Boolean

是否自动传播引用的资源

placement

否

Placement object

定义资源传播到哪些集群的规则

priority

否

Integer

策略的优先级,默认值为0

schedulerName

否

String

调度器名称,默认值为“default-scheduler”

表6 OverridePolicy

参数

是否必选

参数类型

描述

kind

否

String

API类型,固定值“OverridePolicy”

apiVersion

否

String

API版本

spec

否

OverrideSpec object

覆盖策略的具体说明

表7 OverrideSpec

参数

是否必选

参数类型

描述

resourceSelectors

否

Array of ResourceSelector objects

资源选择器,限制该覆盖策略适用的资源类型

overriders

否

Object

将应用于资源的覆盖规则

表8 ResourceSelector

参数

是否必选

参数类型

描述

apiVersion

否

String

目标资源的API版本

kind

否

String

目标资源的类型

namespace

否

String

目标资源的名称

name

否

String

目标资源所在命名空间

表9 ResourceBinding

参数

是否必选

参数类型

描述

kind

否

String

API类型,固定值“ResourceBinding”

apiVersion

否

String

API版本

metadata

否

ObjectMeta object

资源的元数据

spec

否

ResourceBindingSpec object

表示资源绑定的期望行为

status

否

ResourceBindingStatus object

表示资源绑定的当前实际状态

表10 ObjectMeta

参数

是否必选

参数类型

描述

uid

否

String

资源ID

name

否

String

资源名称

generateName

否

String

当未提供name时,服务器使用的前缀来生成唯一名称

namespace

否

String

命名空间

labels

否

Map<String,String>

标签

annotations

否

Map<String,String>

注解

creationTimestamp

否

String

创建时间

updateTimestamp

否

String

更新时间

resourceVersion

否

String

资源内部版本

generation

否

Integer

资源期望状态的代数

managedFields

否

Array of ManagedFieldsEntry objects

记录哪些字段由哪些工作流管理

ownerReferences

否

Array of OwnerReference objects

用于定义对象间所有权关系,管理对象的依赖关系和垃圾回收机制,支持控制器对资源的管理

表11 ManagedFieldsEntry

参数

是否必选

参数类型

描述

manager

否

String

管理者的名称

operation

否

String

记录导致此条目创建的操作类型,只能是 Apply 或 Update 两种操作类型

apiVersion

否

String

该管理者定义字段时所依据的资源 API 版本

time

否

String

此管理条目被创建或最后一次更新的时间戳

fieldsType

否

String

固定为 "FieldsV1",标记字段结构格式

fieldsV1

否

Object

用于存储实际被管理的字段信息

表12 OwnerReference

参数

是否必选

参数类型

描述

apiVersion

否

String

标识引用对象的API版本

kind

否

String

引用对象的类型

name

否

String

引用对象的名称

uid

否

String

引用对象的uid

controller

否

Boolean

如果为true,表示该引用指向管理该资源的控制器

blockOwnerDeletion

否

Boolean

当为true且拥有者有名为"foregroundDeletion"的finalizer 时,会阻止拥有者被删除,直到这个引用被移除

表13 ResourceBindingSpec

参数

是否必选

参数类型

描述

resource

否

Object

要传播的Kubernetes资源引用

propagateDeps

否

Boolean

是否自动传播相关资源

replicaRequirements

否

Object

定义每个副本的需求

replicas

否

Integer

要创建的副本数量

placement

否

Placement object

集群选择规则

clusters

否

Array of TargetCluster objects

目标成员集群列表

表14 Placement

参数

是否必选

参数类型

描述

clusterAffinity

否

ClusterAffinity object

集群亲和性规则

clusterTolerations

否

Array of Toleration objects

集群容忍规则

replicaScheduling

否

Object

定义如何在成员集群间分配副本

表15 ClusterAffinity

参数

是否必选

参数类型

描述

clusterNames

否

Array of strings

指定要选择的集群名称列表

exclude

否

Array of strings

指定要排除的集群名称列表

表16 Toleration

参数

是否必选

参数类型

描述

key

否

String

表示要容忍的污点键名

operator

否

String

定义Key与Value之间的关系,可选值为Exists或Equal,默认为Equal

value

否

String

表示要匹配的污点值,当Operator为Exists时,Value应为空

effect

否

String

指定要匹配的污点效果,可选值为 NoSchedule、PreferNoSchedule或NoExecute,如果为空,表示匹配所有效果

tolerationSeconds

否

Integer

仅对NoExecute效果有效,表示Pod能容忍污点的时间

表17 TargetCluster

参数

是否必选

参数类型

描述

name

否

String

目标集群名称

replicas

否

Integer

在该集群创建的副本数

表18 ResourceBindingStatus

参数

是否必选

参数类型

描述

schedulerObservedGeneration

否

Integer

记录调度器当前观察到的资源生成版本代数

conditions

否

Array of ConditionStatus objects

资源的各种状态条件

表19 ConditionStatus

参数

是否必选

参数类型

描述

type

否

String

状态类型:

  • Ready,表示集群是否可用

  • Cluster,表示集群的网络连接状态

  • Federation,表示集群的联邦状态

status

否

String

集群状态:

  • Ready类型:

    • True:集群已就绪,状态健康并且准备好接收工作负载

    • False:集群未就绪

  • Cluster类型:

    • Initializing:集群正在初始化

    • Failed:集群初始化失败,包括集群注册超时或集群版本不支持

    • Available:集群已成功初始化并可用

    • Unavailable:集群不可用

    • Unjoining:集群正在移出舰队

    • UnjoinFailed:集群移出舰队失败

    • UnjoinSuccess:集群移出舰队成功

    • Unregistering:集群注销中

    • UnregisterFailed:集群注销失败

  • Federation类型:

    • Federalized:集群已加入联邦

    • Federalizing:集群正在加入联邦

    • Failed:集群加入联邦失败

    • Removing:集群正在移出联邦

    • Abnormal:集群在联邦中状态异常

observedgeneration

否

Integer

状态对象的版本

lastTransitionTime

否

String

上次状态更新的时间

reason

否

String

状态原因

message

否

String

状态信息

响应参数

状态码:200

更新联邦工作负载成功

无

请求示例

更新联邦工作负载

PUT https://ucs.myhuaweicloud.com/v1/clustergroups/{clustergroupid}/unitedworkload

{
  "kind" : "Deployment",
  "metadata" : {
    "name" : "test",
    "namespace" : "default"
  },
  "template" : {
    "apiVersion" : "apps/v1",
    "kind" : "Deployment",
    "metadata" : {
      "labels" : {
        "version" : "v1"
      },
      "name" : "test",
      "namespace" : "default"
    },
    "spec" : {
      "selector" : {
        "matchLabels" : {
          "app" : "test",
          "version" : "v1"
        }
      },
      "template" : {
        "metadata" : {
          "labels" : {
            "app" : "test",
            "version" : "v1"
          }
        },
        "spec" : {
          "containers" : [ {
            "name" : "nginx",
            "image" : "xxxxxx",
            "imagePullPolicy" : "IfNotPresent"
          } ],
          "terminationGracePeriodSeconds" : 30,
          "tolerations" : [ {
            "key" : "node.kubernetes.io/not-ready",
            "operator" : "Exists",
            "effect" : "NoExecute",
            "tolerationSeconds" : 300
          }, {
            "key" : "node.kubernetes.io/unreachable",
            "operator" : "Exists",
            "effect" : "NoExecute",
            "tolerationSeconds" : 300
          } ],
          "volumes" : [ ],
          "initContainers" : [ ]
        }
      },
      "serviceName" : "headless-kd3s6e",
      "replicas" : 2,
      "revisionHistoryLimit" : 10,
      "progressDeadlineSeconds" : 600
    }
  },
  "propagationPolicy" : {
    "spec" : {
      "placement" : {
        "clusterAffinity" : {
          "clusterNames" : [ ]
        },
        "replicaScheduling" : {
          "replicaSchedulingType" : "Divided",
          "replicaDivisionPreference" : "Weighted",
          "weightPreference" : {
            "dynamicWeight" : "AvailableReplicas"
          }
        }
      },
      "propagateDeps" : true
    }
  },
  "overridePolicy" : { }
}

响应示例

无

状态码

状态码

描述

200

更新联邦工作负载成功

400

客户端请求错误,服务器无法执行请求

403

服务器拒绝执行请求

404

资源不存在

500

服务器内部错误

错误码

请参见错误码。