|
| 1 | +# Feast on Kubernetes |
| 2 | + |
| 3 | +This page covers deploying Feast on Kubernetes, including the Feast Operator and feature servers. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +Kubernetes is a common target environment for running Feast in production. You can use Kubernetes to: |
| 8 | + |
| 9 | +1. Run Feast feature servers for online feature retrieval. |
| 10 | +2. Run scheduled and ad-hoc jobs (e.g. materialization jobs) as Kubernetes Jobs. |
| 11 | +3. Operate Feast components using Kubernetes-native primitives. |
| 12 | + |
| 13 | +## Feast Operator |
| 14 | + |
| 15 | +To deploy Feast components on Kubernetes, use the included [feast-operator](../../infra/feast-operator). |
| 16 | + |
| 17 | +For first-time Operator users, it may be a good exercise to try the [Feast Operator Quickstart](../../examples/operator-quickstart). The quickstart demonstrates some of the Operator's built-in features, e.g. git repos, `feast apply` jobs, etc. |
| 18 | + |
| 19 | +## Deploy Feast feature servers on Kubernetes |
| 20 | + |
| 21 | +{% embed url="https://www.youtube.com/playlist?list=PLPzVNzik7rsAN-amQLZckd0so3cIr7blX" %} |
| 22 | + |
| 23 | +**Basic steps** |
| 24 | + |
| 25 | +1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) |
| 26 | +2. Install the Operator |
| 27 | + |
| 28 | +Install the latest release: |
| 29 | + |
| 30 | +```sh |
| 31 | +kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/dist/install.yaml |
| 32 | +``` |
| 33 | + |
| 34 | +OR, install a specific version: |
| 35 | + |
| 36 | +```sh |
| 37 | +kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/tags/<version>/infra/feast-operator/dist/install.yaml |
| 38 | +``` |
| 39 | + |
| 40 | +3. Deploy a Feature Store |
| 41 | + |
| 42 | +```sh |
| 43 | +kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/config/samples/v1_featurestore.yaml |
| 44 | +``` |
| 45 | + |
| 46 | +Verify the status: |
| 47 | + |
| 48 | +```sh |
| 49 | +$ kubectl get feast |
| 50 | +NAME STATUS AGE |
| 51 | +sample Ready 2m21s |
| 52 | +``` |
| 53 | + |
| 54 | +The above will install a simple [FeatureStore CR](../../infra/feast-operator/docs/api/markdown/ref.md) like the following. By default, it will run the [Online Store feature server](../reference/feature-servers/python-feature-server.md): |
| 55 | + |
| 56 | +```yaml |
| 57 | +apiVersion: feast.dev/v1 |
| 58 | +kind: FeatureStore |
| 59 | +metadata: |
| 60 | + name: sample |
| 61 | +spec: |
| 62 | + feastProject: my_project |
| 63 | +``` |
| 64 | +
|
| 65 | +> _More advanced FeatureStore CR examples can be found in the feast-operator [samples directory](../../infra/feast-operator/config/samples)._ |
| 66 | +
|
| 67 | +{% hint style="success" %} |
| 68 | +Important note: Scaling a Feature Store Deployment should only be done if the configured data store(s) will support it. |
| 69 | +
|
| 70 | +Please check the how-to guide for some specific recommendations on [how to scale Feast](./scaling-feast.md). |
| 71 | +{% endhint %} |
0 commit comments