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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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. |
maxDuration Duration | Define the max lifetime of Pod using the Queue. Supported units: y, w, d, h, m, s, ms. Examples: 30s , 1m , 1h20m15s , 15d . |
resourceShapeProfile string | Specify ResourceShape profile used by the Queue. |
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:
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:
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:
Field | Description |
---|---|
name string | Role Name |
minMember integer | MinMember defines minimal number of pods of the role. |