PodSchedulingContext v1alpha2

PodSchedulingContext 对象包含使用 “WaitForFirstConsumer” 分配模式的 ResourceClaims 来调度 Pod 所需的信息。

apiVersion: resource.k8s.io/v1alpha2

import "k8s.io/api/resource/v1alpha2"

PodSchedulingContext

PodSchedulingContext 对象包含调度某些 Pod 所需要的额外信息,这些 Pod 使用了 “WaitForFirstConsumer” 分配模式的 ResourceClaim。

本功能特性是 Alpha 级别的特性,需要启用 DynamicResourceAllocation 特性门控。


PodSchedulingContextSpec

PodSchedulingContextSpec 描述了 Pod 所需要的资源在哪里。


  • potentialNodes ([]string)

    集合:合并期间保留唯一值

    potentialNodes 列出可以运行 Pod 的节点。

    该字段的大小限制为 128。对于许多集群来说,这已经足够大了。 较大的集群可能需要更多的尝试去找到一个适合所有待定资源的节点。 这个限制值可能会在以后提高,但不会降低。

  • selectedNode (string)

    selectedNode 是一个节点,由 Pod 引用的 ResourceClaim 将在此节点上尝试, 且尝试的分配模式是 “WaitForFirstConsumer”。

PodSchedulingContextStatus

PodSchedulingContextStatus 描述 Pod 的资源可以从哪里分配。


  • resourceClaims ([]ResourceClaimSchedulingStatus)

    映射:键 name 的唯一值将在合并过程中保留

    resourceClaims 描述了每个 pod.spec.resourceClaim 条目的资源可用性, 其中对应的 ResourceClaim 使用 “WaitForFirstConsumer” 分配模式。

    ResourceClaimSchedulingStatus 包含关于一个采用 “WaitForFirstConsumer” 分配模式的特定 ResourceClaim 的信息。

    • resourceClaims.name (string)

      name 与 pod.spec.resourceClaims[*].name 字段匹配。

    • resourceClaims.unsuitableNodes ([]string)

      集合:合并期间保留唯一值

      unsuitableNodes 列出 ResourceClaim 无法被分配的节点。

      该字段的大小限制为 128,与 PodSchedulingSpec.PotentialNodes 相同。 这可能会在以后增加,但不会减少。

PodSchedulingContextList

PodSchedulingContextList 是 Pod 调度对象的集合。


  • apiVersion: resource.k8s.io/v1alpha2

  • kind: PodSchedulingContextList

  • metadata (ListMeta)

    标准的列表元数据。

  • items ([]PodSchedulingContext),必需

    items 是 PodSchedulingContext 对象的列表。

操作


get 读取指定的 PodSchedulingContext

HTTP 请求

GET /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • pretty查询参数):string

    pretty

响应

200 (PodSchedulingContext): OK

401: Unauthorized

get 读取指定 PodSchedulingContext 的状态

HTTP 请求

GET /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}/status

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • pretty查询参数):string

    pretty

响应

200 (PodSchedulingContext): OK

401: Unauthorized

list 列出或监视 PodSchedulingContext 类别的对象

HTTP 请求

GET /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts

参数

响应

200 (PodSchedulingContextList): OK

401: Unauthorized

list 列出或监视 PodSchedulingContext 类别的对象

HTTP 请求

GET /apis/resource.k8s.io/v1alpha2/podschedulingcontexts

参数

响应

200 (PodSchedulingContextList): OK

401: Unauthorized

create 创建 PodSchedulingContext

HTTP 请求

POST /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts

参数

响应

200 (PodSchedulingContext): OK

201 (PodSchedulingContext): Created

202 (PodSchedulingContext): Accepted

401: Unauthorized

update 替换指定的 PodSchedulingContext

HTTP 请求

PUT /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • body: PodSchedulingContext,必需

  • dryRun查询参数):string

    dryRun

  • fieldManager查询参数):string

    fieldManager

  • fieldValidation查询参数):string

    fieldValidation

  • pretty查询参数):string

    pretty

响应

200 (PodSchedulingContext): OK

201 (PodSchedulingContext): Created

401: Unauthorized

update 替换指定 PodSchedulingContext 的状态

HTTP 请求

PUT /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}/status

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • body: PodSchedulingContext,必需

  • dryRun查询参数):string

    dryRun

  • fieldManager查询参数):string

    fieldManager

  • fieldValidation查询参数):string

    fieldValidation

  • pretty查询参数):string

    pretty

响应

200 (PodSchedulingContext): OK

201 (PodSchedulingContext): Created

401: Unauthorized

patch 部分更新指定的 PodSchedulingContext

HTTP 请求

PATCH /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • body: Patch,必需

  • dryRun查询参数):string

    dryRun

  • fieldManager查询参数):string

    fieldManager

  • fieldValidation查询参数):string

    fieldValidation

  • force查询参数):boolean

    force

  • pretty查询参数):string

    pretty

响应

200 (PodSchedulingContext): OK

201 (PodSchedulingContext): Created

401: Unauthorized

patch 部分更新指定 PodSchedulingContext 的状态

HTTP 请求

PATCH /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}/status

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • body: Patch,必需

  • dryRun查询参数):string

    dryRun

  • fieldManager查询参数):string

    fieldManager

  • fieldValidation查询参数):string

    fieldValidation

  • force查询参数):boolean

    force

  • pretty查询参数):string

    pretty

响应

200 (PodSchedulingContext): OK

201 (PodSchedulingContext): Created

401: Unauthorized

delete 删除 PodSchedulingContext

HTTP 请求

DELETE /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}

参数

  • name路径参数):string,必需

    PodSchedulingContext 的名称。

  • namespace路径参数):string,必需

    namespace

  • body: DeleteOptions

  • dryRun查询参数):string

    dryRun

  • gracePeriodSeconds查询参数):integer

    gracePeriodSeconds

  • pretty查询参数):string

    pretty

  • propagationPolicy查询参数):string

    propagationPolicy

响应

200 (PodSchedulingContext): OK

202 (PodSchedulingContext): Accepted

401: Unauthorized

deletecollection 删除 PodSchedulingContext 的集合

HTTP 请求

DELETE /apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts

参数

响应

200 (Status): OK

401: Unauthorized