Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the distributed-compute v1alpha1 API group +kubebuilder:object:generate=true +groupName=distributed-compute.dominodatalab.com
Index ¶
- Variables
- func IsPodReady(pod corev1.Pod) bool
- type Autoscaling
- type ClusterConfig
- type ClusterStatusConfig
- type ClusterStatusType
- type DaskCluster
- func (in *DaskCluster) DeepCopy() *DaskCluster
- func (in *DaskCluster) DeepCopyInto(out *DaskCluster)
- func (in *DaskCluster) DeepCopyObject() runtime.Object
- func (dc *DaskCluster) Default()
- func (dc *DaskCluster) ValidateCreate() error
- func (dc *DaskCluster) ValidateDelete() error
- func (dc *DaskCluster) ValidateUpdate(old runtime.Object) error
- type DaskClusterList
- type DaskClusterSpec
- type DaskClusterStatus
- type DaskClusterWorker
- type IstioConfig
- type KerberosKeytabConfig
- type MPICluster
- func (in *MPICluster) DeepCopy() *MPICluster
- func (in *MPICluster) DeepCopyInto(out *MPICluster)
- func (in *MPICluster) DeepCopyObject() runtime.Object
- func (j *MPICluster) Default()
- func (j *MPICluster) ValidateCreate() error
- func (j *MPICluster) ValidateDelete() error
- func (j *MPICluster) ValidateUpdate(old runtime.Object) error
- type MPIClusterList
- type MPIClusterSpec
- type MPIClusterWorker
- type NetworkPolicyConfig
- type OCIImageDefinition
- type PersistentVolumeClaimTemplate
- type RayCluster
- func (in *RayCluster) DeepCopy() *RayCluster
- func (in *RayCluster) DeepCopyInto(out *RayCluster)
- func (in *RayCluster) DeepCopyObject() runtime.Object
- func (rc *RayCluster) Default()
- func (rc *RayCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (rc *RayCluster) ValidateCreate() error
- func (rc *RayCluster) ValidateDelete() error
- func (rc *RayCluster) ValidateUpdate(runtime.Object) error
- type RayClusterList
- type RayClusterSpec
- type RayClusterWorker
- type ScalableClusterConfig
- type ServiceAccountConfig
- type SparkCluster
- func (in *SparkCluster) DeepCopy() *SparkCluster
- func (in *SparkCluster) DeepCopyInto(out *SparkCluster)
- func (in *SparkCluster) DeepCopyObject() runtime.Object
- func (sc *SparkCluster) Default()
- func (sc *SparkCluster) IsIncompatibleVersion() bool
- func (sc *SparkCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (sc *SparkCluster) ValidateCreate() error
- func (sc *SparkCluster) ValidateDelete() error
- func (sc *SparkCluster) ValidateUpdate(runtime.Object) error
- type SparkClusterDriver
- type SparkClusterList
- type SparkClusterNode
- type SparkClusterSpec
- type SparkClusterWorker
- type WorkloadConfig
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "distributed-compute.dominodatalab.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func IsPodReady ¶ added in v0.6.11
Types ¶
type Autoscaling ¶
type Autoscaling struct {
// MinReplicas is the lower limit for the number of replicas to which the
// autoscaler can scale down. This value must be greater than zero and less
// than the MaxReplicas.
MinReplicas *int32 `json:"minReplicas,omitempty"`
// MaxReplicas is the upper limit for the number of replicas to which the
// autoscaler can scale up. This value cannot be less than the replica
// count for your workload.
MaxReplicas int32 `json:"maxReplicas"`
// AverageCPUUtilization is the target value of the average of the resource
// cpu metric across all relevant pods. This is represented as a percentage
// of the requested value of the resource for the pods.
AverageCPUUtilization *int32 `json:"averageCPUUtilization,omitempty"`
// AverageMemoryUtilization is the target value of the average of the
// resource memory metric across all relevant pods. This is represented as
// a percentage of the requested value of the resource for the pods.
AverageMemoryUtilization *int32 `json:"averageMemoryUtilization,omitempty"`
// ScaleDownStabilizationWindowSeconds is the number of seconds for which
// past recommendations should be considered when scaling down. A shorter
// window will trigger scale down events quicker, but too short a window
// may cause replica flapping when metrics used for scaling keep fluctuating.
ScaleDownStabilizationWindowSeconds *int32 `json:"scaleDownStabilizationWindowSeconds,omitempty"`
}
Autoscaling configuration for scalable workloads.
func (*Autoscaling) DeepCopy ¶
func (in *Autoscaling) DeepCopy() *Autoscaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Autoscaling.
func (*Autoscaling) DeepCopyInto ¶
func (in *Autoscaling) DeepCopyInto(out *Autoscaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConfig ¶ added in v0.3.0
type ClusterConfig struct {
// IstioConfig overrides for a cluster.
IstioConfig `json:",inline"`
// GlobalLabels applied to all resources in addition to stock labels.
GlobalLabels map[string]string `json:"globalLabels,omitempty"`
// Image used to launch cluster nodes.
Image *OCIImageDefinition `json:"image,omitempty"`
// NetworkPolicy parameters used to IP traffic flow.
NetworkPolicy NetworkPolicyConfig `json:"networkPolicy,omitempty"`
// ServiceAccount parameters used to override default behavior.
ServiceAccount ServiceAccountConfig `json:"serviceAccount,omitempty"`
// KerberosKeytab parameters used to add kerberos authentication.
KerberosKeytab *KerberosKeytabConfig `json:"kerberosKeytab,omitempty"`
// ImagePullSecrets are references to secrets with pull credentials to
// private registries where cluster image are stored.
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// PodSecurityContext added to every cluster pod.
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// EnvVars added to all every cluster container.
EnvVars []corev1.EnvVar `json:"envVars,omitempty"`
// PodSecurityPolicy name can be provided to restrict and/or provide
// execution permissions to processes running within cluster pods.
PodSecurityPolicy string `json:"podSecurityPolicy,omitempty"`
}
ClusterConfig defines high-level cluster options.
func (*ClusterConfig) DeepCopy ¶ added in v0.3.0
func (in *ClusterConfig) DeepCopy() *ClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfig.
func (*ClusterConfig) DeepCopyInto ¶ added in v0.3.0
func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatusConfig ¶ added in v0.3.0
type ClusterStatusConfig struct {
ClusterStatus ClusterStatusType `json:"clusterStatus,omitempty"`
// Reason may contain additional information when status is "Failed"
Reason string `json:"reason,omitempty"`
StartTime *metav1.Time `json:"startTime,omitempty"`
// Image is the canonical reference url to the cluster container image.
Image string `json:"image,omitempty"`
// Nodes are pods that comprise the cluster.
Nodes []string `json:"nodes,omitempty"`
// WorkerReplicas is the `scale.status.replicas` subresource field.
WorkerReplicas int32 `json:"workerReplicas,omitempty"`
// WorkerSelector is the `scale.status.selector` subresource field.
WorkerSelector string `json:"workerSelector,omitempty"`
}
ClusterStatusConfig defines the observed state of a given cluster. The controllers will generate and populate these fields during reconciliation.
func (*ClusterStatusConfig) DeepCopy ¶ added in v0.3.0
func (in *ClusterStatusConfig) DeepCopy() *ClusterStatusConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatusConfig.
func (*ClusterStatusConfig) DeepCopyInto ¶ added in v0.3.0
func (in *ClusterStatusConfig) DeepCopyInto(out *ClusterStatusConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatusType ¶ added in v0.6.11
type ClusterStatusType string
const ( PendingStatus ClusterStatusType = "Pending" StartingStatus ClusterStatusType = "Starting" RunningStatus ClusterStatusType = "Running" StoppingStatus ClusterStatusType = "Stopping" FailedStatus ClusterStatusType = "Failed" )
type DaskCluster ¶ added in v0.3.0
type DaskCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DaskClusterSpec `json:"spec,omitempty"`
Status DaskClusterStatus `json:"status,omitempty"`
}
DaskCluster is the Schema for the daskclusters API.
func (*DaskCluster) DeepCopy ¶ added in v0.3.0
func (in *DaskCluster) DeepCopy() *DaskCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaskCluster.
func (*DaskCluster) DeepCopyInto ¶ added in v0.3.0
func (in *DaskCluster) DeepCopyInto(out *DaskCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DaskCluster) DeepCopyObject ¶ added in v0.3.0
func (in *DaskCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DaskCluster) Default ¶ added in v0.3.0
func (dc *DaskCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*DaskCluster) ValidateCreate ¶ added in v0.3.0
func (dc *DaskCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*DaskCluster) ValidateDelete ¶ added in v0.3.0
func (dc *DaskCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*DaskCluster) ValidateUpdate ¶ added in v0.3.0
func (dc *DaskCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type DaskClusterList ¶ added in v0.3.0
type DaskClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DaskCluster `json:"items"`
}
DaskClusterList contains a list of DaskCluster.
func (*DaskClusterList) DeepCopy ¶ added in v0.3.0
func (in *DaskClusterList) DeepCopy() *DaskClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaskClusterList.
func (*DaskClusterList) DeepCopyInto ¶ added in v0.3.0
func (in *DaskClusterList) DeepCopyInto(out *DaskClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DaskClusterList) DeepCopyObject ¶ added in v0.3.0
func (in *DaskClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DaskClusterSpec ¶ added in v0.3.0
type DaskClusterSpec struct {
ScalableClusterConfig `json:",inline"`
Scheduler WorkloadConfig `json:"scheduler,omitempty"`
Worker DaskClusterWorker `json:"worker,omitempty"`
SchedulerPort int32 `json:"schedulerPort,omitempty"`
DashboardPort int32 `json:"dashboardPort,omitempty"`
WorkerPort int32 `json:"workerPort,omitempty"`
NannyPort int32 `json:"nannyPort,omitempty"`
// AdditionalClientPorts are extra ports through which cluster nodes could connect to the client.
AdditionalClientPorts []corev1.ServicePort `json:"additionalClientPorts,omitempty"`
}
DaskClusterSpec defines the desired state of DaskCluster.
func (*DaskClusterSpec) DeepCopy ¶ added in v0.3.0
func (in *DaskClusterSpec) DeepCopy() *DaskClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaskClusterSpec.
func (*DaskClusterSpec) DeepCopyInto ¶ added in v0.3.0
func (in *DaskClusterSpec) DeepCopyInto(out *DaskClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaskClusterStatus ¶ added in v0.3.0
type DaskClusterStatus struct {
ClusterStatusConfig `json:",inline"`
}
DaskClusterStatus defines the observed state of DaskCluster
func (*DaskClusterStatus) DeepCopy ¶ added in v0.3.0
func (in *DaskClusterStatus) DeepCopy() *DaskClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaskClusterStatus.
func (*DaskClusterStatus) DeepCopyInto ¶ added in v0.3.0
func (in *DaskClusterStatus) DeepCopyInto(out *DaskClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaskClusterWorker ¶ added in v0.3.0
type DaskClusterWorker struct {
WorkloadConfig `json:",inline"`
Replicas *int32 `json:"replicas,omitempty"`
}
DaskClusterWorker defines worker-specific workload settings.
func (*DaskClusterWorker) DeepCopy ¶ added in v0.3.0
func (in *DaskClusterWorker) DeepCopy() *DaskClusterWorker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaskClusterWorker.
func (*DaskClusterWorker) DeepCopyInto ¶ added in v0.3.0
func (in *DaskClusterWorker) DeepCopyInto(out *DaskClusterWorker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IstioConfig ¶
type IstioConfig struct {
// MutualTLSMode will be used to create a workload-specific peer
// authentication policy that takes precedence over a global and/or
// namespace-wide policy.
MutualTLSMode string `json:"istioMutualTLSMode,omitempty"`
}
IstioConfig defines Istio configuration parameters.
func (*IstioConfig) DeepCopy ¶
func (in *IstioConfig) DeepCopy() *IstioConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioConfig.
func (*IstioConfig) DeepCopyInto ¶
func (in *IstioConfig) DeepCopyInto(out *IstioConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KerberosKeytabConfig ¶ added in v0.3.0
type KerberosKeytabConfig struct {
// Contents are the binary data stored in the keytab file.
Contents []byte `json:"contents,omitempty"`
// MountPath where the keytab file should be created inside a pod.
MountPath string `json:"mountPath,omitempty"`
}
KerberosKeytabConfig defines kerberos key table configuration options.
func (*KerberosKeytabConfig) DeepCopy ¶ added in v0.3.0
func (in *KerberosKeytabConfig) DeepCopy() *KerberosKeytabConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosKeytabConfig.
func (*KerberosKeytabConfig) DeepCopyInto ¶ added in v0.3.0
func (in *KerberosKeytabConfig) DeepCopyInto(out *KerberosKeytabConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MPICluster ¶ added in v0.6.0
type MPICluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MPIClusterSpec `json:"spec,omitempty"`
Status ClusterStatusConfig `json:"status,omitempty"`
}
MPICluster is the Schema for the MPI Clusters API.
func (*MPICluster) DeepCopy ¶ added in v0.6.0
func (in *MPICluster) DeepCopy() *MPICluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPICluster.
func (*MPICluster) DeepCopyInto ¶ added in v0.6.0
func (in *MPICluster) DeepCopyInto(out *MPICluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MPICluster) DeepCopyObject ¶ added in v0.6.0
func (in *MPICluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MPICluster) Default ¶ added in v0.6.0
func (j *MPICluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*MPICluster) ValidateCreate ¶ added in v0.6.0
func (j *MPICluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*MPICluster) ValidateDelete ¶ added in v0.6.0
func (j *MPICluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*MPICluster) ValidateUpdate ¶ added in v0.6.0
func (j *MPICluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type MPIClusterList ¶ added in v0.6.0
type MPIClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MPICluster `json:"items"`
}
MPIClusterList contains a list of MPICluster.
func (*MPIClusterList) DeepCopy ¶ added in v0.6.0
func (in *MPIClusterList) DeepCopy() *MPIClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPIClusterList.
func (*MPIClusterList) DeepCopyInto ¶ added in v0.6.0
func (in *MPIClusterList) DeepCopyInto(out *MPIClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MPIClusterList) DeepCopyObject ¶ added in v0.6.0
func (in *MPIClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MPIClusterSpec ¶ added in v0.6.0
type MPIClusterSpec struct {
ClusterConfig `json:",inline"`
Worker MPIClusterWorker `json:"worker,omitempty"`
// WorkerPorts specifies the range of ports used by worker processes for communication.
WorkerPorts []int32 `json:"workerPorts,omitempty"`
// AdditionalClientPorts are extra ports through which cluster nodes could connect to the client.
AdditionalClientPorts []corev1.ServicePort `json:"additionalClientPorts,omitempty"`
}
MPIClusterSpec defines the desired state of MPICluster.
func (*MPIClusterSpec) DeepCopy ¶ added in v0.6.0
func (in *MPIClusterSpec) DeepCopy() *MPIClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPIClusterSpec.
func (*MPIClusterSpec) DeepCopyInto ¶ added in v0.6.0
func (in *MPIClusterSpec) DeepCopyInto(out *MPIClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MPIClusterWorker ¶ added in v0.6.0
type MPIClusterWorker struct {
WorkloadConfig `json:",inline"`
Replicas *int32 `json:"replicas,omitempty"`
UserName string `json:"userName,omitempty"`
UserID *int64 `json:"userID,omitempty"`
GroupName string `json:"groupName,omitempty"`
GroupID *int64 `json:"groupID,omitempty"`
HomeDir string `json:"homeDir,omitempty"`
}
MPIClusterWorker defines worker-specific workload settings.
func (*MPIClusterWorker) DeepCopy ¶ added in v0.6.0
func (in *MPIClusterWorker) DeepCopy() *MPIClusterWorker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPIClusterWorker.
func (*MPIClusterWorker) DeepCopyInto ¶ added in v0.6.0
func (in *MPIClusterWorker) DeepCopyInto(out *MPIClusterWorker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicyConfig ¶ added in v0.3.0
type NetworkPolicyConfig struct {
// Enabled controls the creation of network policies that limit and provide
// ingress access to the cluster nodes.
Enabled *bool `json:"enabled,omitempty"`
// ClientLabels defines the pod selector clause that grants ingress access
// to the cluster client port(s).
ClientLabels map[string]string `json:"clientLabels,omitempty"`
// Defines the pod selector clause that grants ingress
// access to the cluster dashboard.
DashboardLabels map[string]string `json:"dashboardLabels,omitempty"`
// Defines the namespace selector clause that grants ingress
// access to the cluster dashboard.
DashboardNamespaceLabels map[string]string `json:"dashboardNamespaceLabels,omitempty"`
}
NetworkPolicyConfig defines network policy configuration options.
func (*NetworkPolicyConfig) DeepCopy ¶ added in v0.3.0
func (in *NetworkPolicyConfig) DeepCopy() *NetworkPolicyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicyConfig.
func (*NetworkPolicyConfig) DeepCopyInto ¶ added in v0.3.0
func (in *NetworkPolicyConfig) DeepCopyInto(out *NetworkPolicyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OCIImageDefinition ¶
type OCIImageDefinition struct {
// Registry where the container image is hosted.
Registry string `json:"registry,omitempty"`
// Repository where the container image is stored.
Repository string `json:"repository,omitempty"`
// Tag points to a specific container image variant.
Tag string `json:"tag,omitempty"`
// PullPolicy used to fetch container image.
PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`
}
OCIImageDefinition describes where and how to fetch a container image.
func (*OCIImageDefinition) DeepCopy ¶
func (in *OCIImageDefinition) DeepCopy() *OCIImageDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIImageDefinition.
func (*OCIImageDefinition) DeepCopyInto ¶
func (in *OCIImageDefinition) DeepCopyInto(out *OCIImageDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimTemplate ¶
type PersistentVolumeClaimTemplate struct {
// Name is the unique metadata ID of the volume claim.
Name string `json:"name"`
// Spec describes the storage attributes of the underlying claim.
Spec corev1.PersistentVolumeClaimSpec `json:"spec"`
}
PersistentVolumeClaimTemplate describes a claim that pods are allowed to reference. These can either pre-exist or leverage storage classes to provide dynamic provisioning.
func (*PersistentVolumeClaimTemplate) DeepCopy ¶
func (in *PersistentVolumeClaimTemplate) DeepCopy() *PersistentVolumeClaimTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimTemplate.
func (*PersistentVolumeClaimTemplate) DeepCopyInto ¶
func (in *PersistentVolumeClaimTemplate) DeepCopyInto(out *PersistentVolumeClaimTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayCluster ¶
type RayCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RayClusterSpec `json:"spec,omitempty"`
Status ClusterStatusConfig `json:"status,omitempty"`
}
RayCluster is the Schema for the rayclusters API.
func (*RayCluster) DeepCopy ¶
func (in *RayCluster) DeepCopy() *RayCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayCluster.
func (*RayCluster) DeepCopyInto ¶
func (in *RayCluster) DeepCopyInto(out *RayCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayCluster) DeepCopyObject ¶
func (in *RayCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RayCluster) Default ¶
func (rc *RayCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*RayCluster) SetupWebhookWithManager ¶
func (rc *RayCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager creates and registers this webhook with the manager. TODO: delete
func (*RayCluster) ValidateCreate ¶
func (rc *RayCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*RayCluster) ValidateDelete ¶
func (rc *RayCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*RayCluster) ValidateUpdate ¶
func (rc *RayCluster) ValidateUpdate(runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type RayClusterList ¶
type RayClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RayCluster `json:"items"`
}
RayClusterList contains a list of RayCluster resources.
func (*RayClusterList) DeepCopy ¶
func (in *RayClusterList) DeepCopy() *RayClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterList.
func (*RayClusterList) DeepCopyInto ¶
func (in *RayClusterList) DeepCopyInto(out *RayClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterList) DeepCopyObject ¶
func (in *RayClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterSpec ¶
type RayClusterSpec struct {
ScalableClusterConfig `json:",inline"`
// Head node configuration parameters.
Head WorkloadConfig `json:"head,omitempty"`
// Worker node configuration parameters.
Worker RayClusterWorker `json:"worker,omitempty"`
// Port is the port of the head ray process.
Port int32 `json:"port,omitempty"`
// RedisShardPorts is a list of ports for non-primary Redis shards.
RedisShardPorts []int32 `json:"redisShardPorts,omitempty"`
// ClientServerPort is the port number to which the ray client server will
// bind. This port is used by external clients to submit work.
ClientServerPort int32 `json:"clientServerPort,omitempty"`
// ObjectManagerPort is the raylet port for the object manager.
ObjectManagerPort int32 `json:"objectManagerPort,omitempty"`
// NodeManagerPort is the raylet port for the node manager.
NodeManagerPort int32 `json:"nodeManagerPort,omitempty"`
// GCSServerPort is the port for the global control store.
GCSServerPort int32 `json:"gcsServerPort,omitempty"`
// WorkerPorts specifies the range of ports used by worker processes.
WorkerPorts []int32 `json:"workerPorts,omitempty"`
// ObjectStoreMemoryBytes is initial amount of memory with which to start
// the object store.
ObjectStoreMemoryBytes *int64 `json:"objectStoreMemoryBytes,omitempty"`
// DashboardPort is the port used by the dashboard server.
DashboardPort int32 `json:"dashboardPort,omitempty"`
// EnableDashboard starts the dashboard web UI.
EnableDashboard *bool `json:"enableDashboard,omitempty"`
// AdditionalClientPorts are extra ports through which cluster nodes could connect to the client.
AdditionalClientPorts []corev1.ServicePort `json:"additionalClientPorts,omitempty"`
}
RayClusterSpec defines the desired state of a RayCluster resource.
func (*RayClusterSpec) DeepCopy ¶
func (in *RayClusterSpec) DeepCopy() *RayClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterSpec.
func (*RayClusterSpec) DeepCopyInto ¶
func (in *RayClusterSpec) DeepCopyInto(out *RayClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterWorker ¶
type RayClusterWorker struct {
WorkloadConfig `json:",inline"`
// Replicas configures the total number of workers in the cluster. This
// field behaves differently when Autoscaling is enabled. If
// Autoscaling.MinReplicas is unspecified, then the minimum number of
// replicas will be set to this value. Additionally, you can specify an
// "initial cluster size" by setting this field to some value above the
// minimum number of replicas.
Replicas *int32 `json:"replicas,omitempty"`
}
RayClusterWorker defines worker-specific pod settings.
func (*RayClusterWorker) DeepCopy ¶
func (in *RayClusterWorker) DeepCopy() *RayClusterWorker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterWorker.
func (*RayClusterWorker) DeepCopyInto ¶
func (in *RayClusterWorker) DeepCopyInto(out *RayClusterWorker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalableClusterConfig ¶ added in v0.6.0
type ScalableClusterConfig struct {
// ClusterConfig base options.
ClusterConfig `json:",inline"`
// Autoscaling parameters used to scale up/down cluster nodes.
Autoscaling *Autoscaling `json:"autoscaling,omitempty"`
}
ScalableClusterConfig defines high-level cluster options with autoscaling.
func (*ScalableClusterConfig) DeepCopy ¶ added in v0.6.0
func (in *ScalableClusterConfig) DeepCopy() *ScalableClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableClusterConfig.
func (*ScalableClusterConfig) DeepCopyInto ¶ added in v0.6.0
func (in *ScalableClusterConfig) DeepCopyInto(out *ScalableClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountConfig ¶ added in v0.3.0
type ServiceAccountConfig struct {
// Name of an existing service account used by cluster workloads. This
// field will disable the creation of a dedicated cluster service account.
Name string `json:"name,omitempty"`
// AutomountServiceAccountToken into workload pods. This field is only used
// when creating a dedicted cluster service account.
AutomountServiceAccountToken bool `json:"automountServiceAccountToken,omitempty"`
}
ServiceAccountConfig defines service account configuration parameters.
func (*ServiceAccountConfig) DeepCopy ¶ added in v0.3.0
func (in *ServiceAccountConfig) DeepCopy() *ServiceAccountConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountConfig.
func (*ServiceAccountConfig) DeepCopyInto ¶ added in v0.3.0
func (in *ServiceAccountConfig) DeepCopyInto(out *ServiceAccountConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SparkCluster ¶
type SparkCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SparkClusterSpec `json:"spec,omitempty"`
Status ClusterStatusConfig `json:"status,omitempty"`
}
SparkCluster is the Schema for the sparkclusters API.
func (*SparkCluster) DeepCopy ¶
func (in *SparkCluster) DeepCopy() *SparkCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkCluster.
func (*SparkCluster) DeepCopyInto ¶
func (in *SparkCluster) DeepCopyInto(out *SparkCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SparkCluster) DeepCopyObject ¶
func (in *SparkCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SparkCluster) Default ¶
func (sc *SparkCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*SparkCluster) IsIncompatibleVersion ¶ added in v0.5.6
func (sc *SparkCluster) IsIncompatibleVersion() bool
IsIncompatibleVersion checks if the provided instance of SparkCluster struct has a version compatible with the current one.
func (*SparkCluster) SetupWebhookWithManager ¶
func (sc *SparkCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager creates and registers this webhook with the manager.
func (*SparkCluster) ValidateCreate ¶
func (sc *SparkCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*SparkCluster) ValidateDelete ¶
func (sc *SparkCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*SparkCluster) ValidateUpdate ¶
func (sc *SparkCluster) ValidateUpdate(runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type SparkClusterDriver ¶ added in v0.4.0
type SparkClusterDriver struct {
// Port used for communication by the driver.
Port int32 `json:"port,omitempty"`
// UIPort used by the driver.
UIPort int32 `json:"uiPort,omitempty"`
// BlockManagerPort used by the driver.
BlockManagerPort int32 `json:"blockManagerPort,omitempty"`
// Selector labels for driver pod(s).
Selector map[string]string `json:"selector,omitempty"`
}
SparkClusterDriver defines the configuration for the external driver.
func (*SparkClusterDriver) DeepCopy ¶ added in v0.4.0
func (in *SparkClusterDriver) DeepCopy() *SparkClusterDriver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterDriver.
func (*SparkClusterDriver) DeepCopyInto ¶ added in v0.4.0
func (in *SparkClusterDriver) DeepCopyInto(out *SparkClusterDriver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SparkClusterList ¶
type SparkClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SparkCluster `json:"items"`
}
SparkClusterList contains a list of SparkCluster resources.
func (*SparkClusterList) DeepCopy ¶
func (in *SparkClusterList) DeepCopy() *SparkClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterList.
func (*SparkClusterList) DeepCopyInto ¶
func (in *SparkClusterList) DeepCopyInto(out *SparkClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SparkClusterList) DeepCopyObject ¶
func (in *SparkClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SparkClusterNode ¶
type SparkClusterNode struct {
WorkloadConfig `json:",inline"`
// DefaultConfiguration can be used to tune the execution environment for
// your Spark applications. The values provided will be used to construct
// the spark-defaults.conf file.
DefaultConfiguration map[string]string `json:"defaultConfiguration,omitempty"`
}
SparkClusterNode defines attributes common to all spark node types.
func (*SparkClusterNode) DeepCopy ¶
func (in *SparkClusterNode) DeepCopy() *SparkClusterNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterNode.
func (*SparkClusterNode) DeepCopyInto ¶
func (in *SparkClusterNode) DeepCopyInto(out *SparkClusterNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SparkClusterSpec ¶
type SparkClusterSpec struct {
ScalableClusterConfig `json:",inline"`
// Master node configuration parameters.
Master SparkClusterNode `json:"master,omitempty"`
// Worker node configuration parameters.
Worker SparkClusterWorker `json:"worker,omitempty"`
// Driver configures the SparkCluster to communicate with the Spark Driver.
Driver SparkClusterDriver `json:"driver,omitempty"`
// EnvoyFilterLabels are specific labels that must already exist on the
// spark-driver so that users can set idle_timeout properly using the
// EnvoyFilter resource.
EnvoyFilterLabels map[string]string `json:"envoyFilterLabels,omitempty"`
// WorkerMemoryLimit configures the SPARK_WORKER_MEMORY envVar.
WorkerMemoryLimit string `json:"workerMemoryLimit,omitempty"`
// ClusterPort is the port used for master/worker/driver communication.
ClusterPort int32 `json:"clusterPort,omitempty"`
// MasterWebPort is the port for the master web UI.
MasterWebPort int32 `json:"masterWebPort,omitempty"`
// WorkerWebPort is the port for the worker web UI.
WorkerWebPort int32 `json:"workerWebPort,omitempty"`
// AdditionalClientPorts are extra ports through which cluster nodes could connect to the client.
AdditionalClientPorts []corev1.ServicePort `json:"additionalClientPorts,omitempty"`
}
SparkClusterSpec defines the desired state of a SparkCluster resource.
func (*SparkClusterSpec) DeepCopy ¶
func (in *SparkClusterSpec) DeepCopy() *SparkClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterSpec.
func (*SparkClusterSpec) DeepCopyInto ¶
func (in *SparkClusterSpec) DeepCopyInto(out *SparkClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SparkClusterWorker ¶
type SparkClusterWorker struct {
SparkClusterNode `json:",inline"`
// Replicas configures the total number of workers in the cluster. This
// field behaves differently when Autoscaling is enabled. If
// Autoscaling.MinReplicas is unspecified, then the minimum number of
// replicas will be set to this value. Additionally, you can specify an
// "initial cluster size" by setting this field to some value above the
// minimum number of replicas.
Replicas *int32 `json:"replicas,omitempty"`
// Obsolete value of WorkerMemoryLimit used in previous
// versions; used here only to check compatibility of CRDs.
ObsoleteWorkerMemoryLimit string `json:"workerMemoryLimit,omitempty"`
}
SparkClusterWorker defines worker-specific pod settings.
func (*SparkClusterWorker) DeepCopy ¶
func (in *SparkClusterWorker) DeepCopy() *SparkClusterWorker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterWorker.
func (*SparkClusterWorker) DeepCopyInto ¶
func (in *SparkClusterWorker) DeepCopyInto(out *SparkClusterWorker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadConfig ¶ added in v0.3.0
type WorkloadConfig struct {
// Labels applied to cluster pods in addition to stock labels.
Labels map[string]string `json:"labels,omitempty"`
// Annotations applied to cluster pods.
Annotations map[string]string `json:"annotations,omitempty"`
// NodeSelector applied to cluster pods.
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Resources are the requests and limits applied to cluster containers.
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// Affinity applied to cluster pods.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Tolerations applied to cluster pods.
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// InitContainers added to cluster pods.
InitContainers []corev1.Container `json:"initContainers,omitempty"`
// Volumes added to cluster pods.
Volumes []corev1.Volume `json:"volumes,omitempty"`
// VolumeMounts added to cluster containers.
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
// VolumeClaimTemplates is a list of claims that cluster pods are allowed
// to reference. You can enable dynamic provisioning of additional storage
// on-demand by using a storage class provisioner.
VolumeClaimTemplates []PersistentVolumeClaimTemplate `json:"volumeClaimTemplates,omitempty"`
// Customize container security context
SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}
WorkloadConfig defines options common to all cluster nodes.
func (*WorkloadConfig) DeepCopy ¶ added in v0.3.0
func (in *WorkloadConfig) DeepCopy() *WorkloadConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadConfig.
func (*WorkloadConfig) DeepCopyInto ¶ added in v0.3.0
func (in *WorkloadConfig) DeepCopyInto(out *WorkloadConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.