RunSchedule

The RunSchedule resource represents the lifecycle of scheduled runs.

Schedules for pipeline training runs can be configured using this resource as follows:

apiVersion: pipelines.kubeflow.org/v1beta1
kind: RunSchedule
metadata:
  generateName: penguin-pipeline-run-schedule-
spec:
  artifacts:
  - name: serving-model
    path: 'Pusher:pushed_model:0[pushed == 1]'
  experimentName: penguin-experiment
  pipeline: penguin-pipeline

  provider: provider-namespace/provider-name
  parameters:
  - name: TRAINING_RUNS
    value: '100'
  - name: EXAMPLES
    valueFrom:
      runConfigurationRef:
        name: base-namespace/penguin-pipeline-example-generator-runconfiguration
        outputArtifact: examples
  schedule:
    cronExpression: '0 * * * *'
    startTime: "2024-01-01T00:00:00Z"
    endTime: "2024-12-31T23:59:59Z"

Note the usage of metadata.generateName which tells Kubernetes to generate a new name based on the given prefix for every new resource.

In general, we expect users to deploy RunConfigurations to configure the lifecycle of their runs, leaving the management of RunSchedules to the operator.

Fields

NameDescription
spec.providerThe namespace and name of the associated Provider resource separated by a /, e.g. provider-namespace/provider-name.
spec.pipelineThe identifier of the corresponding pipeline resource to run. If no version is specified, then the RunSchedule will use the latest version of the specified pipeline.
spec.experimentNameThe name of the corresponding experiment resource (optional - the Default Experiment as defined in the Installation section will be used if no experimentName is provided).
spec.parameters[]Parameters for the pipeline training run. See Run Parameters.
spec.artifacts[]Exposed output artifacts that will be included in run completion event when this run has succeeded. See the Run Artifact Definition for more detail.
spec.schedulefor when the runs should be created. See Schedule Definition for more detail.

Schedule Definition

NameDescription
cronExpressionCron expression to execute training runs. It can have 5 (standard cron) or 6 (first digit expresses seconds) fields. When a provider does not support the 6-field format, seconds will be omitted.
startTimeOptional. If supported by the provider, this is a timestamp after which the first run can be scheduled. Defaults to Schedule create time if not specified.
endTimeOptional. If supported by the provider, this is a timestamp after which no new runs can be scheduled. If specified, The schedule will be completed when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. endTime must be after startTime and the current time in order for this to take effect.