跳转至

API Reference

Packages

scheduler.tensorstack.dev/v1beta1

Package v1beta1 is the v1beta1 version of the API.

Resource Types

PodGroup

PodGroup represents a collection of Pods to be scheduled together to facilicate with parallel computing. PodGroup is usually automatically created by workload controllers to manage parallel batch workloads such as machine learning training and to enable coscheduling/gang-scheduling strategies. Users can also manually create a PodGroup and associates Pods with it if desired.

Appears in: - PodGroupList

Field Description
apiVersion string scheduler.tensorstack.dev/v1beta1
kind string PodGroup
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec PodGroupSpec Specification of the desired behavior of the pod group. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status PodGroupStatus Status represents the current status of a pod group. This data may not be up to date.

PodGroupCondition

PodGroupCondition contains details for the current state of this pod group.

Appears in: - PodGroupStatus

Field Description
type PodGroupConditionType The type of the condition.
status ConditionStatus The status of the condition.
transitionID string The ID of condition transition.
lastTransitionTime Time Last time of condition transition(s).
reason string Unique, one-word, CamelCase, machine-readable reason for the condition's last change.
message string Human-readable message indicating details about last change.

PodGroupInQueueStatus

Appears in: - QueueStatus

Field Description
total integer

PodGroupList

PodGroupList is a collection of pod groups.

Field Description
apiVersion string scheduler.tensorstack.dev/v1beta1
kind string PodGroupList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items PodGroup array The list of PodGroup.

PodGroupSpec

PodGroupSpec represents the desired specification of a pod group.

Appears in: - PodGroup

Field Description
roles Role array
minMember integer MinMember defines the minimal number of pods to run the PodGroup. If there less than minMember of pods joining the PodGroup, none of the existing pods in the group will be scheduled. After minMember of pods joined, the scheduler will only schedule them if there are sufficient resources to allow minMember of pods start together.
queue string Queue defines the queue from which resources for pods of the PodGroup should be allocated. If queue is not specified, the PodGroup will be scheduled to queue "default".
priority integer If specified, indicates the PodGroup's priority; groups with larger priority values will be considered for scheduling first; range is [0,100].
topologyPolicy TopologyPolicyType TopologyPolicy declares the topology policy PodGroup needs.

PodGroupStatus

PodGroupStatus represents the current state of a pod group.

Appears in: - PodGroup

Field Description
conditions PodGroupCondition array The conditions of PodGroup.
allocated object (keys:ResourceName, values:Quantity) Allocated represents resources and their qunatities allocated to the PodGroup.
pending integer The number of pods in phase Pending.
running integer The number of pods in phase running.
succeeded integer The number of pods in phase Succeeded.
failed integer The number of pods in phase Failed.
unknown integer The number of pods in phase Unknown.

PodInQueueStatus

Appears in: - QueueStatus

Field Description
pending integer The number of 'Pending' Pods in this queue.
running integer The number of 'Running' Pods in this queue.
succeeded integer The number of 'Succeeded' Pods in this queue.
failed integer The number of 'Failed' Pods in this queue
unknown integer The number of 'Unknown' Pods in this queue.

Queue

Queue is an API-resource to reprenent a sub-set of cluster compute resources and associated administrative policies, such as allowed users, resource quota, allowed workload types, max duration of workload runtime and etc.

Appears in: - QueueList

Field Description
apiVersion string scheduler.tensorstack.dev/v1beta1
kind string Queue
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec QueueSpec Specification of the desired behavior of the queue. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status QueueStatus The status of queue.

QueueCondition

Appears in: - QueueStatus

Field Description
type QueueConditionType Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
status ConditionStatus Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
lastTransitionTime Time Last time the condition transitioned.
reason string Unique, one-word, CamelCase reason for the condition's last transition.
message string Human-readable message indicating details about last transition.

QueueConditionType

Underlying type: string

Appears in: - QueueCondition

QueueList

QueueList is a collection of queues.

Field Description
apiVersion string scheduler.tensorstack.dev/v1beta1
kind string QueueList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Queue array The list of Queue.

QueueSpec

QueueSpec represents the desired specification of a Queue.

Appears in: - Queue

Field Description
quota QuotaRequirements
priority integer If specified, indicates the Queue's priority. range is [0,100] The higher value of priority, workloads in this queue will be scheduled with resources with higher preferences.
preemptible boolean Preemptible indicate whether the queue can be preempted by other queue when cluster resources are in short. Queue can be preempted if Preemptible is not set.
closed boolean After queue is closed, new workloads (pods) will not be allocated with resources and no new workloads will be accepted either.
nodeSelector LabelSelector NodeSelector specifies the nodes whoses resource can be used by a Queue. This provides a machanism to restrict workloads submitted to a particular queue to a sub-set of nodes in the cluster. if nil, all nodes are eligible.
namespaceSelector LabelSelector NamespaceSelector specifies the set of namespaces from which workloads are allowed to use this Queue. if nil, no namespaces are selected. Note: There may be other authorization procedures that permit workloads in a queue. They are OR'ed with this selector.

QueueStatus

QueueStatus represents the status of Queue.

Appears in: - Queue

Field Description
allocated object (keys:ResourceName, values:Quantity) Count of resource allocated to the queue.
conditions QueueCondition array Current service state of Queue.
podGroups PodGroupInQueueStatus PodGroup Status in Queue.
pods PodInQueueStatus Pod Status in Queue.

QuotaRequirements

Appears in: - QueueSpec

Field Description
requests object (keys:ResourceName, values:Quantity) Requests describes max amount of resources pods in the Queue can potentially request. However, these are the upper limits for resources, not necessarily always available for use. This can be used by cluster administrators to control the upper bounds of resources submitted to a particular queue. Togethe with allowed users of queues, this provides a mechanism for admins to set policies to constrain some aspects of user resource usages.

Role

Role describes pod's role and minMember constraint for this role.

Appears in: - PodGroupSpec

Field Description
name string Role Name
minMember integer MinMember defines minimal number of pods of the role.