API Reference
Packages
tensorstack.dev/v1beta1
Package v1beta1 contains API Schema definitions for the v1beta1 API group
Resource Types
AddressStatus
AddressStatus store state of serving address
Appears in:
Field | Description |
---|---|
url string | URL used for predictor. |
ContainerResources
Appears in:
Field | Description |
---|---|
name string | Name of container |
resources ResourceRequirements | Resource requirements |
DeploymentSpec
DeploymentSpec defines the configuration for knative service
Appears in:
Field | Description |
---|---|
minReplicas integer | Minimum number of replicas, pods won't scale down to 0 in case of no traffic |
maxReplicas integer | This is the up bound for autoscaler to scale to |
template PatchTemplateSpec | Custom template of knative service |
logger LoggerSpec | Logger spec |
EditableMetadata
Metadata includes the editable part of metav1.ObjectMeta. Now only contains labels and annotations
Appears in:
Field | Description |
---|---|
labels object (keys:string, values:string) | Labels |
annotations object (keys:string, values:string) | Annotations |
LoggerMode
Underlying type: string
Appears in:
LoggerSpec
Appears in:
Field | Description |
---|---|
urls string array | Logger sink url array |
mode LoggerMode | Logger mode |
resources ResourceRequirements | Resource requirements |
MLService
MLService is the Schema for the mlservices API
Appears in:
Field | Description |
---|---|
apiVersion string | tensorstack.dev/v1beta1 |
kind string | MLService |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec MLServiceSpec | |
status MLServiceStatus |
MLServiceCondition
Appears in:
Field | Description |
---|---|
type MLServiceConditionType | Type of condition. |
status ConditionStatus | Status of the condition, one of True, False, Unknown. |
lastTransitionTime Time | Last time the condition transitioned from one status to another. |
reason string | The reason for the condition's last transition. |
message string | A human readable message indicating details about the transition. |
MLServiceConditionType
Underlying type: string
Appears in:
MLServiceList
MLServiceList contains a list of MLService
Field | Description |
---|---|
apiVersion string | tensorstack.dev/v1beta1 |
kind string | MLServiceList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items MLService array |
MLServiceRuntime
MLServiceRuntime is the Schema for the mlserviceruntimes API
Appears in:
Field | Description |
---|---|
apiVersion string | tensorstack.dev/v1beta1 |
kind string | MLServiceRuntime |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec MLServiceRuntimeSpec | |
status MLServiceRuntimeStatus |
MLServiceRuntimeList
MLServiceRuntimeList contains a list of MLServiceRuntime
Field | Description |
---|---|
apiVersion string | tensorstack.dev/v1beta1 |
kind string | MLServiceRuntimeList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items MLServiceRuntime array |
MLServiceRuntimeSpec
Appears in:
Field | Description |
---|---|
enabled boolean | Set true if enabled |
template RuntimeTemplateSpec | Template defines the knative revision that will be created from this pod template. |
MLServiceSpec
MLServiceSpec defines the desired state of MLService
Appears in:
Field | Description |
---|---|
releases ReleaseSpec array | Releases define multiple versions of predictor |
transformer TransformerSpec | Transformer will pre-process and post-process data |
default string | Default specifies the release name which will be used as default version. |
canary string | Canary specifies the release name which will be used as canary version. |
canaryTrafficPercent integer | CanaryTrafficPercent specifies traffic percent of canary version, range is (0,100). |
scheduler SchedulePolicy | Default Scheduler is default-scheduler |
runMode RunMode | MLService RunMode |
MLServiceStatus
MLServiceStatus defines the observed state of MLService
Appears in:
Field | Description |
---|---|
defaultRelease string | Default release name |
canaryRelease string | Canary release name |
conditions MLServiceCondition array | Conditions |
releases ReleaseStatus array | The observed statuses of MLService releases |
transformer TransformerStatus | The observed statuses of transformers. |
address AddressStatus | Address |
ModelSpec
Appears in:
Field | Description |
---|---|
parameters object (keys:string, values:string) | Model parameters |
runtime string | Specific ServingRuntime name to use for deployment. |
PVCStorage
PVCStorage defines infos of pvc
Appears in:
Field | Description |
---|---|
name string | PVC name |
subPath string | Directory path where model is located in PVC. Must be a relative path. e.g. "model/mnist" Defaults to "" (volume's root). |
mountPath string | Directory path where model locates in container, default is "/var/lib/t9k/model" |
PatchTemplateSpec
podSpec and containers are optional. This will be patched to runtime
Appears in:
Field | Description |
---|---|
metadata EditableMetadata | Refer to Kubernetes API documentation for fields of metadata . |
spec PodSpec | Pod Spec with optional containers |
PodSpec
PodSpec is a description of a pod.
Appears in:
Field | Description |
---|---|
volumes Volume array | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes |
initContainers Container array | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
containers Container array | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. |
ephemeralContainers EphemeralContainer array | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is alpha-level and is only honored by servers that enable the EphemeralContainers feature. |
restartPolicy RestartPolicy | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy |
terminationGracePeriodSeconds integer | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. |
activeDeadlineSeconds integer | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. |
dnsPolicy DNSPolicy | Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. |
nodeSelector object (keys:string, values:string) | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
serviceAccountName string | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ |
serviceAccount string | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. |
automountServiceAccountToken boolean | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. |
nodeName string | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. |
hostNetwork boolean | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. |
hostPID boolean | Use the host's pid namespace. Optional: Default to false. |
hostIPC boolean | Use the host's ipc namespace. Optional: Default to false. |
shareProcessNamespace boolean | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. |
securityContext PodSecurityContext | SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field. |
imagePullSecrets LocalObjectReference array | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
hostname string | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. |
subdomain string | If specified, the fully qualified Pod hostname will be " |
affinity Affinity | If specified, the pod's scheduling constraints |
schedulerName string | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. |
tolerations Toleration array | If specified, the pod's tolerations. |
hostAliases HostAlias array | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. |
priorityClassName string | If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. |
priority integer | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. |
dnsConfig PodDNSConfig | Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. |
readinessGates PodReadinessGate array | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md |
runtimeClassName string | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This is a beta feature as of Kubernetes v1.14. |
enableServiceLinks boolean | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. |
preemptionPolicy PreemptionPolicy | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. |
overhead object (keys:ResourceName, values:Quantity) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md This field is alpha-level as of Kubernetes v1.16, and is only honored by servers that enable the PodOverhead feature. |
topologySpreadConstraints TopologySpreadConstraint array | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. |
setHostnameAsFQDN boolean | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. |
PredictorSpec
PredictorSpec defines the configuration for a predictor, The following fields follow a "1-of" semantic. Users must specify exactly one spec.
Appears in:
Field | Description |
---|---|
model ModelSpec | Model info |
storage Storage | Model storage spec |
DeploymentSpec DeploymentSpec | Model deploy spec |
containersResources ContainerResources array | Container's resources |
ReleaseSpec
ReleaseSpec defines the specific spec of release
Appears in:
Field | Description |
---|---|
name string | Name is the release name |
predictor PredictorSpec | Predictor defines the model serving spec |
ReleaseStatus
ReleaseStatus defines the observed status of one MLService release
Appears in:
Field | Description |
---|---|
name string | Release name |
ready boolean | True if release service ready |
trafficPercent integer | Traffic percent of this release |
url string | Service url |
reason string | Reason for not ready, empty if ready |
message string | Message for not ready, empty if ready |
readyReplicas integer | Ready replicas numbers |
totalReplicas integer | Total replicas numbers |
RunMode
Underlying type: string
Appears in:
RuntimeTemplateSpec
this will be applied to RevisionTemplateSpec
Appears in:
Field | Description |
---|---|
metadata EditableMetadata | Refer to Kubernetes API documentation for fields of metadata . |
spec PodSpec | Pod Spec with optional containers |
S3Storage
S3Storage defines infos of s3
Appears in:
Field | Description |
---|---|
secretRef LocalObjectReference | SecretRef is reference to the secret storing s3cmd config |
uri string | Directory path where model locates in s3. e.g. "s3://<bucket>/<dir>/" |
mountPath string | Directory path where model locates in container, default is "/var/lib/t9k/model" |
SchedulePolicy
SchedulePolicy defines how k8s to schedule the replicas.
Appears in:
Field | Description |
---|---|
t9kScheduler T9kScheduler | TensorStack scheduler spec |
Storage
Storage defines the storage where the model locates
Appears in:
Field | Description |
---|---|
s3 S3Storage | Model locates in S3 |
pvc PVCStorage | Model locates in pvc |
T9kScheduler
Appears in:
Field | Description |
---|---|
queue string | Queue name |
TransformerSpec
TransformerSpec defines the transformer
Appears in:
Field | Description |
---|---|
DeploymentSpec DeploymentSpec | Transformer deployment spec |
storage Storage | Transformer model storage spec |
TransformerStatus
TransformerStatus defines the observed status of transformer
Appears in:
Field | Description |
---|---|
ready boolean | True if transformer service ready |
url string | Transformer url |
reason string | Reason for not ready, empty if ready |
message string | Message for not ready, empty if ready |
readyReplicas integer | Ready replicas numbers |
totalReplicas integer | Total replicas numbers |