Configuration

The Kubeflow Pipelines operator can be configured with the following parameters:

Parameter nameDescriptionExample
defaultExperimentDefault Experiment name to be used for creating pipeline runsDefault
defaultProviderDefault provider name to be used (see Using Multiple Providers). Note: This is deprecated as of v1alpha6 and will be removed when support for v1alpha5 is droppedvertex-ai-europe
multiversionIf enabled, it will support previous versions of the CRDs, only the latest otherwisetrue
workflowNamespaceNamespace where operator Argo workflows should be running - defaults to the operator’s namespacekfp-operator-workflows
runCompletionTTLDuration string for how long to keep one-off runs after completion - a zero-length or negative duration will result in runs being deleted immediately after completion; defaults to empty (never delete runs)10m
runCompletionFeedConfiguration of the service for the run completion feed back to KFP Operator
frameworksMap of pipeline framework to docker image. Pipeline framework to match value in Pipeline resourcedefault: kfp-operator-tfx-compiler:latest
defaultProviderValuesConfiguration of the deployment and service created for providers

Run Completion Feed Configuration

Parameter nameDescriptionExample
portThe port that the feed endpoint will listen on8082
endpointsArray of run completion event handler endpoints that should be called per feed message- host: run-completion-event-handler<br/>&nbsp;&nbsp;path: /<br/>&nbsp;&nbsp;port: 12000

Provider Values Configuration

Parameter nameDescriptionExample
replicasNumber of replicas used within the deployment2
serviceContainerNameName of the container that will execute the provider image. Note: this must match the podTemplateSpec nameprovider-service
servicePortThe port that should expose the service Note: this must match the podTemplateSpec ports8080
metricsPortThe port that should expose the metrics service. Note: this must match the metrics port defined in the podTemplateSpec8081
labelsA map of additional labels to add to the provider service Deployment and Service. The Deployment and Service will also have a label of app: provider-<provider_name>. To attach labels to a provider service pod, use podTemplateSpec.a: label
podTemplateSpeck8s pod template spec for the provider service deployment

An example configuration:

apiVersion: config.kubeflow.org/v1beta1
kind: KfpControllerConfig
controller:
  health:
    healthProbeBindAddress: :8081
  metrics:
    bindAddress: :8080
  webhook:
    port: 9443
  leaderElection:
    leaderElect: true
    resourceName: kfp-operator-lock
spec:
  multiversion: true
  workflowNamespace: kfp-operator-system
  workflowTemplatePrefix: kfp-operator-
  frameworks:
    default: kfp-operator-tfx-compiler:latest
  runCompletionFeed:
    port: 8082
    endpoints: []
  defaultProviderValues:
    replicas: 1
    serviceContainerName: provider-service
    servicePort: 8080
    metricsPort: 8081
    labels: 
      a: label
      another: label
    podTemplateSpec:
      metadata:
        labels: 
          a: label
      spec:
        volumes: []
        securityContext:
          runAsNonRoot: true
        containers:
          - name: provider-service
            ports:
              - containerPort: 8080
                name: http
                protocol: TCP
              - containerPort: 8081
                name: metrics
                protocol: TCP
            volumeMounts: []
            securityContext:
              allowPrivilegeEscalation: false
            resources:
              limits:
                cpu: 500m
                memory: 256Mi
              requests:
                cpu: 250m
                memory: 128Mi
            env:
              - name: POD_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              - name: OPERATORWEBHOOK
                value: http://kfp-operator-runcompletion-webhook-service.kfp-operator-system:80/events
              - name: SERVER_PORT
                value: '8080'
              - name: METRICS_PORT
                value: '8081'