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
- type Autoscaling
- type ClusterConfig
- type ClusterStatusConfig
- 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 FrameworkConfig
- type IstioConfig
- type KerberosKeytabConfig
- type KeyTabConfig
- 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 (r *RayCluster) Default()
- func (r *RayCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *RayCluster) ValidateCreate() error
- func (r *RayCluster) ValidateDelete() error
- func (r *RayCluster) ValidateUpdate(old runtime.Object) error
- type RayClusterHead
- type RayClusterList
- type RayClusterNetworkPolicy
- type RayClusterNode
- type RayClusterSpec
- type RayClusterStatus
- type RayClusterWorker
- type ServiceAccountConfig
- type SparkAdditionalStorage
- 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) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (sc *SparkCluster) ValidateCreate() error
- func (sc *SparkCluster) ValidateDelete() error
- func (sc *SparkCluster) ValidateUpdate(old runtime.Object) error
- type SparkClusterDriver
- type SparkClusterList
- type SparkClusterMaster
- type SparkClusterNetworkPolicy
- type SparkClusterNode
- type SparkClusterSpec
- type SparkClusterStatus
- 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 ¶
This section is empty.
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 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"` // 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 `json:",inline"` GlobalLabels map[string]string `json:"globalLabels,omitempty"` Image *OCIImageDefinition `json:"image,omitempty"` Autoscaling *Autoscaling `json:"autoscaling,omitempty"` NetworkPolicy NetworkPolicyConfig `json:"networkPolicy,omitempty"` ServiceAccount ServiceAccountConfig `json:"serviceAccount,omitempty"` KerberosKeytab *KerberosKeytabConfig `json:"kerberosKeytab,omitempty"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` EnvVars []corev1.EnvVar `json:"envVars,omitempty"` PodSecurityPolicy string `json:"podSecurityPolicy,omitempty"` }
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 { Nodes []string `json:"nodes,omitempty"` WorkerReplicas int32 `json:"workerReplicas,omitempty"` WorkerSelector string `json:"workerSelector,omitempty"` }
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 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 { ClusterConfig `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"` }
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 FrameworkConfig ¶ added in v0.4.0
type FrameworkConfig struct { // Configs includes the configuration values to include in the configmap Configs map[string]string `json:"configs"` }
func (*FrameworkConfig) DeepCopy ¶ added in v0.4.0
func (in *FrameworkConfig) DeepCopy() *FrameworkConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkConfig.
func (*FrameworkConfig) DeepCopyInto ¶ added in v0.4.0
func (in *FrameworkConfig) DeepCopyInto(out *FrameworkConfig)
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 operator 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 []byte `json:"contents,omitempty"` MountPath string `json:"mountPath,omitempty"` }
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 KeyTabConfig ¶ added in v0.4.0
type KeyTabConfig struct { // Path at which to mount the configmap Path string `json:"path"` // KeyTab contains the actual KeyTab configuration KeyTab []byte `json:"configs"` }
func (*KeyTabConfig) DeepCopy ¶ added in v0.4.0
func (in *KeyTabConfig) DeepCopy() *KeyTabConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyTabConfig.
func (*KeyTabConfig) DeepCopyInto ¶ added in v0.4.0
func (in *KeyTabConfig) DeepCopyInto(out *KeyTabConfig)
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 *bool `json:"enabled,omitempty"` ClientLabels map[string]string `json:"clientLabels,omitempty"` DashboardLabels map[string]string `json:"dashboardLabels,omitempty"` }
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 when 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 RayClusterStatus `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 (r *RayCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*RayCluster) SetupWebhookWithManager ¶
func (r *RayCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager creates and registers this webhook with the manager.
func (*RayCluster) ValidateCreate ¶
func (r *RayCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*RayCluster) ValidateDelete ¶
func (r *RayCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type. Not used, just here for interface compliance.
func (*RayCluster) ValidateUpdate ¶
func (r *RayCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type RayClusterHead ¶
type RayClusterHead struct {
RayClusterNode `json:",inline"`
}
RayClusterHead defines head-specific pod settings.
func (*RayClusterHead) DeepCopy ¶
func (in *RayClusterHead) DeepCopy() *RayClusterHead
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterHead.
func (*RayClusterHead) DeepCopyInto ¶
func (in *RayClusterHead) DeepCopyInto(out *RayClusterHead)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 RayClusterNetworkPolicy ¶
type RayClusterNetworkPolicy struct { // Enabled controls the creation of network policies that limit and provide // ingress access to the cluster nodes. Enabled *bool `json:"enabled,omitempty"` // ClientServerLabels defines the pod selector clause that grant ingress // access to the head client server port. ClientServerLabels map[string]string `json:"clientServerLabels,omitempty"` // DashboardLabels defines the pod selector clause used to grant ingress // access to the head dashboard port. DashboardLabels map[string]string `json:"dashboardLabels,omitempty"` }
RayClusterNetworkPolicy defines network policy configuration options.
func (*RayClusterNetworkPolicy) DeepCopy ¶
func (in *RayClusterNetworkPolicy) DeepCopy() *RayClusterNetworkPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterNetworkPolicy.
func (*RayClusterNetworkPolicy) DeepCopyInto ¶
func (in *RayClusterNetworkPolicy) DeepCopyInto(out *RayClusterNetworkPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterNode ¶
type RayClusterNode struct { // Labels applied to ray pods in addition to stock labels. Labels map[string]string `json:"labels,omitempty"` // Annotations applied to ray pods. Annotations map[string]string `json:"annotations,omitempty"` // NodeSelector applied to ray pods. NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Affinity applied to ray pods. Affinity *corev1.Affinity `json:"affinity,omitempty"` // Tolerations applied to ray pods. Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // InitContainers added to ray pods. InitContainers []corev1.Container `json:"initContainers,omitempty"` // Volumes added to ray pods. Volumes []corev1.Volume `json:"volumes,omitempty"` // VolumeMounts added to ray containers. VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // VolumeClaimTemplates is a list of claims that ray 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"` // Resources are the requests and limits applied to ray containers. Resources corev1.ResourceRequirements `json:"resources,omitempty"` }
RayClusterNode defines attributes common to all ray node types.
func (*RayClusterNode) DeepCopy ¶
func (in *RayClusterNode) DeepCopy() *RayClusterNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterNode.
func (*RayClusterNode) DeepCopyInto ¶
func (in *RayClusterNode) DeepCopyInto(out *RayClusterNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterSpec ¶
type RayClusterSpec struct { // Image used to launch head and worker nodes. Image *OCIImageDefinition `json:"image,omitempty"` // ImagePullSecrets are references to secrets with credentials to private // registries used to pull images. ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // Autoscaling parameters used to scale up/down ray worker nodes. Autoscaling *Autoscaling `json:"autoscaling,omitempty"` // NetworkPolicy parameters that grant intra-cluster and external network // access to cluster nodes. NetworkPolicy RayClusterNetworkPolicy `json:"networkPolicy,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"` // PodSecurityPolicy name can be provided to govern execution of the ray // processes within pods. PodSecurityPolicy string `json:"podSecurityPolicy,omitempty"` // PodSecurityContext added to every ray pod. PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // ServiceAccountName will disable the creation of a dedicated cluster // service account. The service account referenced by the provided name // will be used instead. ServiceAccountName string `json:"serviceAccountName,omitempty"` // EnvVars added to all every ray pod container. EnvVars []corev1.EnvVar `json:"envVars,omitempty"` // IstioConfig parameters for ray clusters. IstioConfig `json:",inline"` // Head node configuration parameters. Head RayClusterHead `json:"head,omitempty"` // Worker node configuration parameters. Worker RayClusterWorker `json:"worker,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 RayClusterStatus ¶
type RayClusterStatus struct { // Nodes 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"` }
RayClusterStatus defines the observed state of a RayCluster resource.
func (*RayClusterStatus) DeepCopy ¶
func (in *RayClusterStatus) DeepCopy() *RayClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterStatus.
func (*RayClusterStatus) DeepCopyInto ¶
func (in *RayClusterStatus) DeepCopyInto(out *RayClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterWorker ¶
type RayClusterWorker struct { RayClusterNode `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 ServiceAccountConfig ¶ added in v0.3.0
type ServiceAccountConfig struct { Name string `json:"name,omitempty"` AutomountServiceAccountToken bool `json:"automountServiceAccountToken,omitempty"` }
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 SparkAdditionalStorage ¶
type SparkAdditionalStorage struct { // Sets the access mode which will be used when mounting the volume to the relevant pod AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes"` // Size of volume specified in any legal kubernetes units (i.e. 1Gi, 1000, etc) Size string `json:"size"` // Controls the storage class of the PersistentVolumeClaim StorageClass string `json:"storageClass"` // The base of the name that will be used both to name and subsequently mount this volume. This should match // an entry in VolumeMounts Name string `json:"name"` }
func (*SparkAdditionalStorage) DeepCopy ¶
func (in *SparkAdditionalStorage) DeepCopy() *SparkAdditionalStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkAdditionalStorage.
func (*SparkAdditionalStorage) DeepCopyInto ¶
func (in *SparkAdditionalStorage) DeepCopyInto(out *SparkAdditionalStorage)
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 SparkClusterStatus `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) 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. Not used, just here for interface compliance.
func (*SparkCluster) ValidateUpdate ¶
func (sc *SparkCluster) ValidateUpdate(old 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 { SparkClusterName string `json:"sparkClusterName,omitempty"` ExecutionName string `json:"executionName,omitempty"` DriverPortName string `json:"driverPortName,omitempty"` DriverPort int32 `json:"driverPort,omitempty"` DriverBlockManagerPortName string `json:"driverBlockManagerPortName,omitempty"` DriverBlockManagerPort int32 `json:"driverBlockManagerPort,omitempty"` DriverUIPortName string `json:"driverUIPortName,omitempty"` DriverUIPort int32 `json:"driverUIPort,omitempty"` }
SparkClusterDriver defines the configuration for the driver service
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 SparkClusterMaster ¶ added in v0.4.0
type SparkClusterMaster struct {
SparkClusterNode `json:",inline"`
}
SparkClusterMaster defines master-specific pod settings.
func (*SparkClusterMaster) DeepCopy ¶ added in v0.4.0
func (in *SparkClusterMaster) DeepCopy() *SparkClusterMaster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterMaster.
func (*SparkClusterMaster) DeepCopyInto ¶ added in v0.4.0
func (in *SparkClusterMaster) DeepCopyInto(out *SparkClusterMaster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SparkClusterNetworkPolicy ¶
type SparkClusterNetworkPolicy struct { // Enabled controls the creation of network policies that limit and provide // ingress access to the cluster nodes. Enabled *bool `json:"enabled,omitempty"` // ClientServerLabels defines the pod selector clause that grant ingress // access to the master client server port. ClientServerLabels map[string]string `json:"clientServerLabels,omitempty"` // DashboardLabels defines the pod selector clause used to grant ingress // access to the master dashboard port. DashboardLabels map[string]string `json:"dashboardLabels,omitempty"` // ExternalPolicyEnabled controls creation of network policies which deal with two way traffic to pods that are // external to the cluster entirely. The spark driver, for example, is generally going to live outside the // cluster ExternalPolicyEnabled *bool `json:"externalPolicyEnabled,omitempty"` // ExternalPodLabels defines the pod selector clause for used to granted unfettered // access to cluster resources. ExternalPodLabels map[string]string `json:"clusterLabels,omitempty"` }
SparkClusterNetworkPolicy defines network policy configuration options.
func (*SparkClusterNetworkPolicy) DeepCopy ¶
func (in *SparkClusterNetworkPolicy) DeepCopy() *SparkClusterNetworkPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterNetworkPolicy.
func (*SparkClusterNetworkPolicy) DeepCopyInto ¶
func (in *SparkClusterNetworkPolicy) DeepCopyInto(out *SparkClusterNetworkPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SparkClusterNode ¶
type SparkClusterNode struct { // Labels applied to spark pods in addition to stock labels. Labels map[string]string `json:"labels,omitempty"` // Annotations applied to spark pods. Annotations map[string]string `json:"annotations,omitempty"` // NodeSelector applied to spark pods. NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Affinity applied to spark pods. Affinity *corev1.Affinity `json:"affinity,omitempty"` // Tolerations applied to spark pods. Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // InitContainers added to spark pods. InitContainers []corev1.Container `json:"initContainers,omitempty"` // Volumes added to spark pods. Volumes []corev1.Volume `json:"volumes,omitempty"` // VolumeMounts added to spark containers. VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Resources are the requests and limits applied to spark containers. Resources corev1.ResourceRequirements `json:"resources"` // AdditionalStorage is the request for additional storage volumes (pvc's) to be created alongside each pod AdditionalStorage []SparkAdditionalStorage `json:"additionalStorage,omitempty"` // FrameworkConfig is the extra framework-specific configuration for this cluster // For spark this means we'll generate a spark-defaults.conf configmap // and mount it at the requested location FrameworkConfig *FrameworkConfig `json:"frameworkConfig,omitempty"` // KeyTabConfig configures the Kerberos Keytab for Spark KeyTabConfig *KeyTabConfig `json:"keyTabConfig,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 { // Image used to launch master and worker nodes. Image *OCIImageDefinition `json:"image,omitempty"` // ImagePullSecrets are references to secrets with credentials to private registries used to pull images. ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // ClusterPort is the port on which the spark protocol communicates ClusterPort int32 `json:"clusterPort,omitempty"` // These two are meant for istio compatibility on spark TCPMasterWebPort int32 `json:"tcpMasterWebPort,omitempty"` TCPWorkerWebPort int32 `json:"tcpWorkerWebPort,omitempty"` // IstioConfig parameters for Spark clusters. IstioConfig `json:",inline"` // Driver configures the SparkCluster to communicate with the Spark Driver Driver SparkClusterDriver `json:"sparkClusterDriver,omitempty"` // DashboardPort is the port used by the dashboard server. DashboardPort int32 `json:"dashboardPort,omitempty"` // DashboardServicePort is the port exposed by the master service DashboardServicePort int32 `json:"dashboardServicePort,omitempty"` // EnableDashboard starts the dashboard web UI. EnableDashboard *bool `json:"enableDashboard,omitempty"` // NetworkPolicy will create a pod selector clause for each set of labels. // This is used to grant ingress access to one or more groups of external pods and is // only applicable when EnableNetworkPolicy is true. NetworkPolicy SparkClusterNetworkPolicy `json:"networkPolicy,omitempty"` // PodSecurityPolicy name can be provided to govern execution of the spark processes within pods. PodSecurityPolicy string `json:"podSecurityPolicy,omitempty"` // PodSecurityContext added to every spark pod. PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // ServiceAccountName will disable the creation of a dedicated cluster service account. // The service account referenced by the provided name will be used instead. ServiceAccountName string `json:"serviceAccountName,omitempty"` // EnvVars added to every spark pod container. EnvVars []corev1.EnvVar `json:"envVars,omitempty"` // Master node configuration parameters. Master SparkClusterMaster `json:"master,omitempty"` // Worker node configuration parameters. Worker SparkClusterWorker `json:"worker,omitempty"` // Autoscaling parameters used to scale up/down spark worker nodes. Autoscaling *Autoscaling `json:"autoscaling,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 SparkClusterStatus ¶
type SparkClusterStatus struct { // Nodes 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"` }
SparkClusterStatus defines the observed state of a SparkCluster resource.
func (*SparkClusterStatus) DeepCopy ¶
func (in *SparkClusterStatus) DeepCopy() *SparkClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkClusterStatus.
func (*SparkClusterStatus) DeepCopyInto ¶
func (in *SparkClusterStatus) DeepCopyInto(out *SparkClusterStatus)
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"` // WorkerMemoryLimit configures the SPARK_WORKER_MEMORY envVar WorkerMemoryLimit 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 map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` Affinity *corev1.Affinity `json:"affinity,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` InitContainers []corev1.Container `json:"initContainers,omitempty"` Volumes []corev1.Volume `json:"volumes,omitempty"` VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` VolumeClaimTemplates []PersistentVolumeClaimTemplate `json:"volumeClaimTemplates,omitempty"` }
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.