Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the model v1alpha1 API group +kubebuilder:object:generate=true +groupName=model.kubedl.io
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type AWSEfs
- type ImageBuildPhase
- type LocalStorage
- type Model
- type ModelList
- type ModelSpec
- type ModelStatus
- type ModelVersion
- type ModelVersionList
- type ModelVersionSpec
- type ModelVersionStatus
- type NFS
- type Storage
- type VersionInfo
Constants ¶
const ( // KubeDLModelPath is the env key to indicate model path in container. KubeDLModelPath = "KUBEDL_MODEL_PATH" // DefaultModelPathInImage is the default path where model artifacts are stored inside the model image generated by Kaniko. DefaultModelPathInImage = "/kubedl-model" )
Variables ¶
var ( // GroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "model.kubedl.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
Types ¶
type AWSEfs ¶
type AWSEfs struct {
// VolumeHandle indicates the backend EFS volume. Check the link for details
// https://github.com/kubernetes-sigs/aws-efs-csi-driver/tree/master/examples/kubernetes
// It is of the form "[FileSystemId]:[Subpath]:[AccessPointId]"
// e.g. FilesystemId with subpath and access point Id: fs-e8a95a42:/my/subpath:fsap-19f752f0068c22464.
// FilesystemId with access point Id: fs-e8a95a42::fsap-068c22f0246419f75
// FileSystemId with subpath: fs-e8a95a42:/dir1
VolumeHandle string `json:"volumeHandle,omitempty"`
// The attributes passed to the backend EFS
Attributes map[string]string `json:"attributes,omitempty"`
}
func (*AWSEfs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSEfs.
func (*AWSEfs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageBuildPhase ¶
type ImageBuildPhase string
const ( ImageBuilding ImageBuildPhase = "ImageBuilding" ImageBuildFailed ImageBuildPhase = "ImageBuildFailed" ImageBuildSucceeded ImageBuildPhase = "ImageBuildSucceeded" )
type LocalStorage ¶
type LocalStorage struct {
// The local host path to export the model.
// +required
Path string `json:"path,omitempty"`
// The mounted path inside the container.
// The training code is expected to export the model artifacts under this path, such as storing the tensorflow saved_model.
MountPath string `json:"mountPath,omitempty"`
// The name of the node for storing the model. This node will be where the chief worker run to export the model.
// +required
NodeName string `json:"nodeName,omitempty"`
}
LocalStorage defines the local storage for storing the model version. For a distributed training job, the nodeName will be the node where the chief/master worker run to export the model.
func (*LocalStorage) DeepCopy ¶
func (in *LocalStorage) DeepCopy() *LocalStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalStorage.
func (*LocalStorage) DeepCopyInto ¶
func (in *LocalStorage) DeepCopyInto(out *LocalStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Model ¶
type Model struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ModelSpec `json:"spec,omitempty"`
Status ModelStatus `json:"status,omitempty"`
}
Model is the Schema for the models API
func (*Model) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Model.
func (*Model) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Model) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ModelList ¶
type ModelList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Model `json:"items"`
}
ModelList contains a list of Model
func (*ModelList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelList.
func (*ModelList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModelList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ModelSpec ¶
type ModelSpec struct {
// Description is an arbitrary string that describes what this model for.
Description *string `json:"description,omitempty"`
}
func (*ModelSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelSpec.
func (*ModelSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModelStatus ¶
type ModelStatus struct {
// LatestVersion indicates the latest ModelVersion
LatestVersion *VersionInfo `json:"latestVersion,omitempty"`
}
ModelStatus defines the observed state of Model
func (*ModelStatus) DeepCopy ¶
func (in *ModelStatus) DeepCopy() *ModelStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelStatus.
func (*ModelStatus) DeepCopyInto ¶
func (in *ModelStatus) DeepCopyInto(out *ModelStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModelVersion ¶
type ModelVersion struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ModelVersionSpec `json:"spec,omitempty"`
Status ModelVersionStatus `json:"status,omitempty"`
}
ModelVersion is the Schema for the modelversions API
func (*ModelVersion) DeepCopy ¶
func (in *ModelVersion) DeepCopy() *ModelVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelVersion.
func (*ModelVersion) DeepCopyInto ¶
func (in *ModelVersion) DeepCopyInto(out *ModelVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModelVersion) DeepCopyObject ¶
func (in *ModelVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ModelVersionList ¶
type ModelVersionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ModelVersion `json:"items"`
}
ModelVersionList contains a list of ModelVersion
func (*ModelVersionList) DeepCopy ¶
func (in *ModelVersionList) DeepCopy() *ModelVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelVersionList.
func (*ModelVersionList) DeepCopyInto ¶
func (in *ModelVersionList) DeepCopyInto(out *ModelVersionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModelVersionList) DeepCopyObject ¶
func (in *ModelVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ModelVersionSpec ¶
type ModelVersionSpec struct {
// The Model name for this ModelVersion
// +required
ModelName string `json:"modelName,omitempty"`
// CreatedBy indicates the entity that creates the model version. e.g. the name of the tfjob that creates the ModelVersion. the name
// of the user that creates the ModelVersion
// +optional
CreatedBy string `json:"createdBy,omitempty"`
// Storage is the location where this ModelVersion is stored.
// +optional
Storage *Storage `json:"storage,omitempty"`
// ImageRepo is the image repository to push the generated model image. e.g. docker hub. "modelhub/mymodel"
// A particular image tag is automatically generated by the system when ImageTag is nil, e.g.
// "modelhub/mymodel:v9epgk"
// +required
ImageRepo string `json:"imageRepo,omitempty"`
// ImageTag is the image tag suffixed with image repo, which indicates a specific image version/variant.
// If empty, the first 5 digits of this ModelVersion object UID will be used as image tag.
// +optional
ImageTag string `json:"imageTag,omitempty"`
}
ModelVersionSpec defines a particular version of the Model. Each time a new ModelVersion crd is created, the ModelVersionController will create an image that incorporates the model.
func (*ModelVersionSpec) DeepCopy ¶
func (in *ModelVersionSpec) DeepCopy() *ModelVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelVersionSpec.
func (*ModelVersionSpec) DeepCopyInto ¶
func (in *ModelVersionSpec) DeepCopyInto(out *ModelVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModelVersionStatus ¶
type ModelVersionStatus struct {
// The image name of the model version
Image string `json:"image,omitempty"`
// ImageBuildPhase is the phase of the image building process
ImageBuildPhase ImageBuildPhase `json:"imageBuildPhase,omitempty"`
// FinishTime is the time when image building is finished.
FinishTime *metav1.Time `json:"finishTime,omitempty"`
// Any message associated with the building process
Message string `json:"message,omitempty"`
}
ModelVersionStatus defines the observed state of ModelVersion
func (*ModelVersionStatus) DeepCopy ¶
func (in *ModelVersionStatus) DeepCopy() *ModelVersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelVersionStatus.
func (*ModelVersionStatus) DeepCopyInto ¶
func (in *ModelVersionStatus) DeepCopyInto(out *ModelVersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFS ¶
type NFS struct {
// NFS server address, e.g. "***.cn-beijing.nas.aliyuncs.com"
Server string `json:"server,omitempty"`
// The path under which the model is stored, e.g. /models/my_model1
Path string `json:"path,omitempty"`
// The mounted path inside the container.
// The training code is expected to export the model artifacts under this path, such as storing the tensorflow saved_model.
MountPath string `json:"mountPath,omitempty"`
}
NFS represents the Alibaba Cloud Nas storage
func (*NFS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFS.
func (*NFS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
type Storage struct {
// NFS represents the alibaba cloud nas storage
NFS *NFS `json:"nfs,omitempty"`
// LocalStorage represents the local host storage
LocalStorage *LocalStorage `json:"localStorage,omitempty"`
// AWSEfs represents the AWS Elastic FileSystem
AWSEfs *AWSEfs `json:"AWSEfs,omitempty"`
}
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionInfo ¶
type VersionInfo struct {
// The name of the latest ModelVersion
ModelVersion string `json:"modelVersion,omitempty"`
// The image name of the latest model, e.g. "modelhub/mymodel:v9epgk"
ImageName string `json:"imageName,omitempty"`
}
func (*VersionInfo) DeepCopy ¶
func (in *VersionInfo) DeepCopy() *VersionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInfo.
func (*VersionInfo) DeepCopyInto ¶
func (in *VersionInfo) DeepCopyInto(out *VersionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.