Configuration
The Kubeflow Pipelines operator can be configured with the following parameters:
Parameter name | Description | Example |
---|
defaultExperiment | Default Experiment name to be used for creating pipeline runs | Default |
defaultProvider | Default 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 dropped | vertex-ai-europe |
multiversion | If enabled, it will support previous versions of the CRDs, only the latest otherwise | true |
workflowNamespace | Namespace where operator Argo workflows should be running - defaults to the operator’s namespace | kfp-operator-workflows |
runCompletionTTL | Duration 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 |
runCompletionFeed | Configuration of the service for the run completion feed back to KFP Operator | |
frameworks | Map of pipeline framework to docker image. Pipeline framework to match value in Pipeline resource | default: kfp-operator-tfx-compiler:latest |
defaultProviderValues | Configuration of the deployment and service created for providers | |
Run Completion Feed Configuration
Parameter name | Description | Example |
---|
port | The port that the feed endpoint will listen on | 8082 |
endpoints | Array of run completion event handler endpoints that should be called per feed message | - host: run-completion-event-handler<br/> path: /<br/> port: 12000 |
Provider Values Configuration
Parameter name | Description | Example |
---|
replicas | Number of replicas used within the deployment | 2 |
serviceContainerName | Name of the container that will execute the provider image. Note: this must match the podTemplateSpec name | provider-service |
servicePort | The port that should expose the service Note: this must match the podTemplateSpec ports | 8080 |
metricsPort | The port that should expose the metrics service. Note: this must match the metrics port defined in the podTemplateSpec | 8081 |
labels | A 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 |
podTemplateSpec | k8s 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'