You need to enable JavaScript to run this app.
导航
更新无状态负载
最近更新时间:2024.06.28 16:41:11首次发布时间:2023.09.16 22:54:46

本接口用于更新无状态负载。

请求说明

  • 请求方式:POST
  • 请求地址:https://veecp.volcengineapi.com/?Action=UpdateDeployment&Version=2021-03-03

请求参数

下表列出了接口特定的请求参数以及公共请求参数 Action 和 Version。 其他公共参数,请参见公共参数

名称

类型

是否必选

示例值

描述

Action

String

UpdateDeployment

公共参数。该参数表示接口名称。 本接口取值为UpdateDeployment

Version

String

2021-03-03

公共参数。该参数表示接口版本。 本接口取值为2021-03-03

ClusterId

[]String

ccgr2an7*********

指定集群 ID。

Namespace

String

default

指定无状态负载部署的命名空间。

Name

String

demo-workload

指定无状态负载的名称。

Labels

[]KeyValuePair

设置无状态负载的标签。

Description

String

无状态负载 Demo。

添加无状态负载的描述。

Replicas

Int32

2

无状态负载的 Pod 实例个数。

Containers

[]ContainerConfiguration

无状态负载的容器配置。

TerminationGracePeriodSeconds

Int64

30

优雅退出时间。单位为秒。默认值为 30。

Strategy

String

RollingUpdate

更新策略。可选值如下:

  • RollingUpdate(默认值):滚动更新。逐步用新版本的实例替换旧版本的实例。
  • Recreate:先把工作负载的旧版本实例删除,再安装指定的新版本实例。升级过程中业务会中断。

MaxUnavailable

String

25

最大不可用数,指在缩容过程中,无状态负载中可用的实例 (Pod) 的数量的下限。默认值为 25%。
Strategy参数设置为RollingUpdate,才需设置该参数。

MaxSurge

String

25

最大超量,指在扩容过程中,无状态负载中可用的实例 (Pod) 的数量的上限。默认值为 25%。
Strategy参数设置为RollingUpdate,才需设置该参数。

PodLabels

[]KeyValuePair

设置 Pod 实例标签。

DnsPolicy

String

ClusterFirst

DNS 策略。可选值如下:

  • ClusterFirst(默认值):在该模式下,会将 Kube-dns 或 CoreDNS 的信息当作预设置参数,写入到该 Pod 内的 DNS 配置。
  • Default:在该模式下,Pod 里面的 DNS 配置继承了宿主机上的 DNS 配置。即该 Pod 的 DNS 配置与宿主机完全一致。

NodeAffinity

NodeAffinity

节点亲和调度。

Tolerations

[]Toleration

节点污点调度。

PodAffinity

PodAffinity

实例亲和调度。

PodAntiAffinity

PodAntiAffinity

实例反亲和调度。

RunAsNonRoot

Bool

true

安全策略,是否以非 root 用户身份运行。

Volumes

[]Volume

存储卷设置。

ImagePullSecrets

[]String

test-key

镜像仓库密钥名称。

Annotations

[]KeyValuePair

无状态负载的注解。

PodAnnotations

[]KeyValuePair

实例注解。

DnsConfig

DnsConfig

DNS 配置。

请求示例

POST /?Action=CreateDeployment&Version=2021-03-03
{
    "ClusterId": "cck0362nqtofv0b72****",
    "Namespace": "default",
    "Name": "deployment-demo",
    "Labels": [
        {
            "Name": "biz",
            "Value": "a"
        }
    ],
    "Replicas": 1,
    "Containers": [
        {
            "Name": "demo",
            "Image": "veecc-210005****-cn-beijing.cr.volces.com/test/nginx",
            "CpuRequest": "",
            "CpuLimit": "",
            "MemoryRequest": "",
            "MemoryLimit": "",
            "Privileged": false,
            "InitContainer": false,
            "VolumeMounts": []
        }
    ],
    "TerminationGracePeriodSeconds": 30,
    "Strategy": "RollingUpdate",
    "MaxUnavailable": "25%",
    "MaxSurge": "25%",
    "PodLabels": [
        {
            "Name": "app",
            "Value": "deployment-demo"
        }
    ],
    "DnsPolicy": "ClusterFirst",
    "NodeAffinity": {},
    "RunAsNonRoot": false,
    "ImagePullSecrets": [],
    "IsVci": false
}

返回参数

名称

类型

示例值

描述

ClusterId

String

ccgr2an7*********

集群 ID。

Namespace

String

default

无状态负载部署的命名空间。

Name

String

demo-workload

无状态负载的名称。

Labels

[]KeyValuePair

无状态负载的标签。

Description

String

无状态负载 Demo。

无状态负载的描述。

Containers

[]ContainerConfiguration

无状态负载的容器配置。

TerminationGracePeriodSeconds

Int64

30

优雅退出时间。单位为秒。默认值为 30。

Strategy

String

RollingUpdate

更新策略。取值范围如下:

  • RollingUpdate(默认值):滚动更新。逐步用新版本的实例替换旧版本的实例。
  • Recreate:先把工作负载的旧版本实例删除,再安装指定的新版本实例。升级过程中业务会中断。

MaxUnavailable

String

25

最大不可用数,指在缩容过程中,无状态负载中可用的实例 (Pod) 的数量的下限。默认值为 25%。
Strategy参数设置为RollingUpdate,才需设置该参数。

PodLabels

[]KeyValuePair

Pod 实例标签。

NodeAffinity

NodeAffinity

节点亲和调度。

Tolerations

[]Toleration

节点污点调度。

PodAffinity

PodAffinity

实例亲和调度。

PodAntiAffinity

PodAntiAffinity

实例反亲和调度。

RunAsNonRoot

Bool

true

安全策略,是否以非 root 用户身份运行。

Volumes

[]Volume

存储卷设置。

CreateTime

String

工作负载创建时间。

UpdateTime

String

工作负载更新时间。

Replicas

Int32

期望副本数。

ReadyReplicas

Int32

就绪副本数。

UpdatedReplicas

Int32

已更新副本数。

AvailableReplicas

Int32

可用副本数。

ImagePullSecrets

[]String

test-key

镜像仓库密钥名称。

Selector

[]KeyValuePair

标签选择器。

Annotations

[]KeyValuePair

无状态负载的注解。

PodAnnotations

[]KeyValuePair

实例注解。

DnsConfig

DnsConfig

DNS 配置。

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230914170215C8AA64F1A9F5B972****",
        "Action": "CreateDeployment",
        "Version": "2021-03-03",
        "Service": "veecp_openapi",
        "Region": "cn-north-1"
    },
    "Result": {
        "ClusterId": "cck0362nqtofv0b72****",
        "Namespace": "default",
        "Name": "deployment-demo",
        "Labels": [
            {
                "Name": "biz",
                "Value": "a"
            }
        ],
        "Description": "",
        "Replicas": 1,
        "Containers": [
            {
                "Name": "demo",
                "Image": "veecc-210005****-cn-beijing.cr.volces.com/test/nginx",
                "ImagePullPolicy": "Always",
                "CpuRequest": "",
                "CpuLimit": "",
                "MemoryRequest": "",
                "MemoryLimit": "",
                "Privileged": false,
                "InitContainer": false,
                "Command": null,
                "Arguments": null,
                "PostStart": null,
                "PreStop": null,
                "GpuLimit": ""
            }
        ],
        "TerminationGracePeriodSeconds": 30,
        "Strategy": "RollingUpdate",
        "MaxUnavailable": "25%",
        "MaxSurge": "25%",
        "PodLabels": [
            {
                "Name": "app",
                "Value": "deployment-demo"
            }
        ],
        "DnsPolicy": "ClusterFirst",
        "NodeAffinity": {},
        "Tolerations": [],
        "RunAsNonRoot": false,
        "Volumes": [],
        "CreateTime": "2023-09-14T09:02:15Z",
        "UpdateTime": "2023-09-14T09:02:15Z",
        "ReadyReplicas": 0,
        "UpdatedReplicas": 0,
        "AvailableReplicas": 0,
        "Selector": [
            {
                "Name": "app",
                "Value": "deployment-demo"
            }
        ],
        "Annotations": [
            {
                "Name": "apps.vke.volcengine.com/updated",
                "Value": "2023-09-14T09:02:15Z"
            }
        ],
        "PodAnnotations": null,
        "DnsConfig": null,
        "IsVci": false
    }
}

错误码

本接口无特有错误码,其他错误码请参见错误码