diff --git a/README.md b/README.md index 6b2db28..d5dcacd 100644 --- a/README.md +++ b/README.md @@ -86,4 +86,60 @@ To configure a MySQL as a Service instance for KubeFlow: ``` - Enter the `kubeflow_user_password` you chose in the `kubeflow.env` file. -- Run the script `setup_mysql.sh` \ No newline at end of file +- Run the script `setup_mysql.sh` + + +### Object Storage Backend + +To use OCI Object Storage as storage for Pipeline and Pipeline Artifacts: + +- Gather the `namespace` name of your tenancy, the `region` code (for example us-ashburn-1) from the tenancy details. + Note: this ONLY works with the home region at this point, because Minio Gateway does not support other regions for S3 compatible gateways. + +- Create a bucket at the root of the tenancy (or in the compartment defined as the root for the S3 Compatibility API, which defaults to the root of the tenancy) + +- Create a Customer Secret Key under your user (or a user created for this purpose), which will provide you with an Access Key and a Secret Access Key. Take note of these credentials. + +- Edit the kubeflow.env file with the details gathered. + +- Run the `setup_object_storage.sh` script to generate the minio.env, config and params.env files + +### Deploy + +In the `deployments/overlays/kustomization.yaml` file, comment out the add-ons you did not configure. + +```yaml +# - ../add-ons/https +- ../add-ons/letsencrypt +- ../add-ons/idcs +- ../add-ons/external-mysql +- ../add-ons/oci-object-storage +``` + +Note that you need the `https` adds OR `letsencrypt` add-on to enable the `idcs` add-on. Without `letsencrypt` use the Load Balancer Public IP address in place of the domain name. + +To deploy, run the comand: + + ```bash + while ! kustomize build deployment/overlays | kubectl apply -f - ; do : done; + ``` + +Note: + +If deployment fails due to a wrong configuration, update the `kubeflow.env`, source it, and re-run the related script(s). Then re-run the kustomize build and kubectl apply commands + +After this, you may still need to restart the deployments with: + +```bash +kubectl rollout restart deployments -n kubeflow +# for IDCS config change, also run +kubectl rollout restart deployments -n auth +``` + +If you are having issues with meta data, pipelines and artifacts, you might need to reset the database/cache. + +Use the following script that clears the MySQL database and rollout restarts all deployments: + +```bash +./reset_db.sh +``` \ No newline at end of file