|
2 | 2 |
|
3 | 3 | ## Overview |
4 | 4 |
|
5 | | -This installation guide will demonstrate two ways of installing Feast: |
| 5 | +This installation guide will demonstrate three ways of installing Feast: |
6 | 6 |
|
| 7 | +* [**Docker Compose \(Quickstart\)**](install-feast.md#docker-compose)**:** Allow quick testing on Feast via a sample Jupyter notebook pre-installed with Feast Python SDK. |
7 | 8 | * [**Minikube \(Minimal\)**](installing-feast.md#minikube)**:** This installation has no external dependencies, but does not have a historical feature store installed. It allows users to quickly get a feel for Feast. |
8 | 9 | * [**Google Kubernetes Engine \(Recommended\):**](installing-feast.md#google-kubernetes-engine) This guide installs a single cluster Feast installation on Google's GKE. It has Google Cloud specific dependencies like BigQuery, Dataflow, and Google Cloud Storage. |
9 | 10 |
|
| 11 | + |
| 12 | +## Docker Compose |
| 13 | + |
| 14 | +### Overview |
| 15 | + |
| 16 | +A docker compose file is provided to quickly test Feast with official docker images. GCP dependency is optional. |
| 17 | + |
| 18 | +* Define and register feature set |
| 19 | +* Feature ingestion |
| 20 | +* Retrieve features for online serving |
| 21 | +* Updating the feature set |
| 22 | + |
| 23 | +The docker compose setup uses Direct Runner for the Apache Beam jobs. |
| 24 | + |
| 25 | +### 0. Requirements |
| 26 | + |
| 27 | +1. [Docker compose](https://docs.docker.com/compose/install/) should be installed. |
| 28 | +2. Port 6565, 6566 and 8888, 9094 are not in used. Otherwise, modify the port mappings in `infra/docker-compose/docker-compose.yml` to use unoccupied ports. |
| 29 | +3. For batch serving, you will also need a service account key that has access to GCS and BigQuery. Port 6567 will be used for the batch serving endpoint. |
| 30 | + |
| 31 | +### 1. Step-by-step guide (Online serving) |
| 32 | +1. Navigate to `infra/docker-compose`. |
| 33 | +2. Copy `.env.sample` to `.env`. |
| 34 | +3. `docker-compose up -d` |
| 35 | +4. A jupyter notebook server should be accessible via `localhost:8888` |
| 36 | +5. Please wait a minute or two for the Feast services to be ready before running the notebook. You will know that the services are ready when port `6565` and `6566` starts listening. |
| 37 | + |
| 38 | +### 2. Step-by-step guide (Batch serving) |
| 39 | +1. Navigate to `infra/docker-compose`. |
| 40 | +2. Copy `.env.sample` to `.env`. |
| 41 | +3. Copy your GCP account service key(s) to `infra/docker-compose/gcp-service-accounts`. |
| 42 | +4. Modify the value of `FEAST_<SERVICE_NAME>_GCP_SERVICE_ACCOUNT_KEY` in your `.env` file. It should be the json file name without extension. |
| 43 | +5. Modify the value of `infra/docker-compose/serving/bq-store.yml`. Alternatively, you can also point to a different store configuration file by modifying `FEAST_BATCH_STORE_CONFIG` in your `.env` file. |
| 44 | +5. `docker-compose -f docker-compose.yml -f docker-compose.batch.yml up -d` |
| 45 | +6. A jupyter notebook server should be accessible via `localhost:8888` |
| 46 | +7. Please wait a minute or two for the Feast services to be ready before running the notebook. You will know that the services are ready when port `6565` and `6567` starts listening. |
| 47 | +8. When you are done, run `docker-compose -f docker-compose.yml -f docker-compose.batch.yml down` to shutdown the services. |
| 48 | + |
10 | 49 | ## Minikube |
11 | 50 |
|
12 | 51 | ### Overview |
|
0 commit comments