Skip to content

Commit

Permalink
Add documentation for provider install
Browse files Browse the repository at this point in the history
  • Loading branch information
grahamia committed Jul 22, 2024
1 parent 0025998 commit cca72b2
Show file tree
Hide file tree
Showing 10 changed files with 157 additions and 172 deletions.
4 changes: 0 additions & 4 deletions config/manager/controller_manager_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ controller:
leaderElect: true
resourceName: kfp-operator-lock
spec:
defaultBeamArgs:
- name: project
value: ${DATAFLOW_PROJECT}
multiversion: true
pipelineStorage: ${PIPELINE_STORAGE}
workflowNamespace: kfp-operator-system
workflowTemplatePrefix: kfp-operator-
63 changes: 35 additions & 28 deletions docs-gen/content/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ This guide assumes you are familiar with [Helm](https://helm.sh/).
- [Argo-Events 1.7.4+](https://argoproj.github.io/argo-events/installation/) installed cluster-wide (see [configuration](../../reference/configuration)).
- The KFP-Operator supports configurable provider backends. Currently, Kubeflow Pipelines and Vertex AI are supported. Please refer to the [respective configuration section](../../reference/configuration/#provider-configuration) before proceeding.

## Build and Install
## KFP-Operator

To get a working installation you will need to install both the KFP-Operator and at least one provider ([see below]({{< ref "#providers" >}} "Providers"))

### Build and Install

Create basic `values.yaml` with the following content:

Expand All @@ -29,8 +33,7 @@ helm install oci://ghcr.io/kfp-operator/kfp-operator -f values.yaml

You will need to configure service accounts and roles required by your chosen `Provider`, [see here for reference]({{< ref "#provider-rbac" >}} "Provider RBAC Reference").


## Configuration Values
### Configuration Values

Valid configuration options to override the [Default `values.yaml`]({{< ghblob "/helm/kfp-operator/values.yaml" >}}) are:

Expand Down Expand Up @@ -65,21 +68,35 @@ Valid configuration options to override the [Default `values.yaml`]({{< ghblob "
| `manager.provider.type` | Provider type (`kfp` for Kubeflow Pipelines or `vai` for Vertex AI Pipelines) |
| `manager.provider.configuration` | Configuration block for the specific provider (see [Provider Configuration](../../reference/configuration#provider-configuration)), automatically mounted as a file |
| `logging.verbosity` | Logging verbosity for all components - see the [logging documentation]({{< param "github_project_repo" >}}/blob/master/CONTRIBUTING.md#logging) for valid values |
| `eventsourceServer.metadata` | [Object Metadata](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) for the eventsource server's pods |
| `eventsourceServer.rbac.create` | Create roles and rolebindings for the eventsource server |
| `eventsourceServer.serviceAccount.name` | Eventsource server's service account |
| `eventsourceServer.serviceAccount.create` | Create the eventsource server's service account or expect it to be created externally |
| `eventsourceServer.resources` | Eventsource server resources as per [k8s documentation](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) |
| `providers` | Dictionary of providers (see below) |
| `statusFeedback.enabled` | Whether run completion eventing and status update feedback loop should be installed - defaults to `false` |

Examples for these values can be found in the [test configuration]({{< ghblob "/helm/kfp-operator/test/values.yaml" >}})

### Providers
## Providers

Supported providers currently are Kubeflow Pipelines and Vertex AI. Install one or more by following these instructions.

The `providers` block contains a dictionary of provider names to provider configurations:
### Build and Install

Create basic `kfp.yaml` value file with the following content:

```yaml
{{% readfile file="includes/quickstart/resources/kfp.yaml" %}}
```

Install the latest version of the provider

```sh
helm install oci://ghcr.io/kfp-operator/provider -f kfp.yaml
```

### Configuration

The `provider` block contains provider configurations:

| Parameter name | Description |
|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `name` | Name given to this provider |
| `type` | Provider type (`kfp` or `vai`) |
| `serviceAccount.name` | Name of the service account to run provider-specific operations |
| `serviceAccount.create` | Create the service account (or assume it has been created externally) |
Expand All @@ -89,23 +106,13 @@ The `providers` block contains a dictionary of provider names to provider config
Example:

```yaml
providers:
kfp:
type: kfp
serviceAccount:
name: kfp-operator-kfp
create: false
configuration:
...
vai:
type: vai
serviceAccount:
name: kfp-operator-kfp
create: true
metadata:
annotations:
iam.gke.io/gcp-service-account: [email protected]
configuration:
provider:
name: kfp-provider
type: kfp
executionMode: v1
serviceAccount:
name: kfp-operator-kfp
create: false
...
```
Expand Down
2 changes: 1 addition & 1 deletion docs-gen/content/docs/getting-started/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The Kubeflow Pipelines operator can optionally be installed with [Argo-Events](h

Currently, we support the following eventsources:

- [Run Completion Eventsource](../reference/run-completion)
- [Run Completion Eventsource](../../reference/run-completion)

## Architecture Overview

Expand Down
16 changes: 16 additions & 0 deletions docs-gen/includes/quickstart/resources/kfp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
provider:
name: kfp-provider
type: kfp
executionMode: v1
serviceAccount:
name: kfp-operator-kfp
create: false
configuration:
kfpNamespace: kubeflow
restKfpApiUrl: http://ml-pipeline.kubeflow:8888
grpcMetadataStoreAddress: metadata-grpc-service.kubeflow:8080
grpcKfpApiAddress: ml-pipeline.kubeflow:8887
defaultBeamArgs:
- name: project
value: ${DATAFLOW_PROJECT}
pipelineRootStorage: ${PIPELINE_STORAGE}
8 changes: 0 additions & 8 deletions docs-gen/includes/quickstart/resources/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,3 @@ manager:
serviceAccount: pipeline-runner
configuration:
defaultExperiment: Default
pipelineStorage: {STORAGE_LOCATION}
provider:
type: kfp
configuration:
kfpNamespace: kubeflow
restKfpApiUrl: http://ml-pipeline.kubeflow:8888
grpcKfpApiAddress: ml-pipeline.kubeflow:8887
grpcMetadataStoreAddress: metadata-grpc-service.kubeflow:8080
Loading

0 comments on commit cca72b2

Please sign in to comment.