文档首页/ 华为云UCS/ API参考/ API/ 容器舰队/ 创建联邦工作负载 - CreateProxyUnitedWorkload
更新时间:2025-11-17 GMT+08:00
分享

创建联邦工作负载 - CreateProxyUnitedWorkload

功能介绍

创建联邦工作负载

授权信息

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

URI

POST /v1/clustergroups/{clustergroupid}/unitedworkload

表1 路径参数

参数

是否必选

参数类型

描述

clustergroupid

String

容器舰队id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表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

String

资源期望状态的代数

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

String

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

表17 TargetCluster

参数

是否必选

参数类型

描述

name

String

目标集群名称

replicas

String

在该集群创建的副本数

表18 ResourceBindingStatus

参数

是否必选

参数类型

描述

schedulerObservedGeneration

Integer

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

conditions

Array of ConditionStatus objects

资源的各种状态条件

表19 ConditionStatus

参数

是否必选

参数类型

描述

type

String

状态类型

status

String

状态

observedgeneration

Integer

状态对象的版本

lastTransitionTime

String

上次状态更新的时间

reason

String

状态原因

message

String

状态信息

响应参数

状态码:200

创建联邦工作负载成功

请求示例

创建联邦工作负载

POST 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

服务器内部错误

错误码

请参见错误码

相关文档