Skip to content

Commit 2cc2f3d

Browse files
authored
Add docs page for Azure setup (feast-dev#1276)
* add azure setup docs page Signed-off-by: Jacob Klegar <jacob@tecton.ai> * small fixes Signed-off-by: Jacob Klegar <jacob@tecton.ai>
1 parent 057424b commit 2cc2f3d

3 files changed

Lines changed: 76 additions & 0 deletions

File tree

docs/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* [Install Feast](getting-started/install-feast/README.md)
77
* [Kubernetes \(with Helm\)](getting-started/install-feast/kubernetes-with-helm.md)
88
* [Amazon EKS \(with Terraform\)](getting-started/install-feast/kubernetes-amazon-eks-with-terraform.md)
9+
* [Azure AKS \(with Terraform\)](getting-started/install-feast/kubernetes-azure-aks-with-terraform.md)
910
* [Google Cloud GKE \(with Terraform\)](getting-started/install-feast/google-cloud-gke-with-terraform.md)
1011
* [Connect to Feast](getting-started/connect-to-feast/README.md)
1112
* [Python SDK](getting-started/connect-to-feast/python-sdk.md)

docs/getting-started/install-feast/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,15 @@ This guide installs Feast into an AWS environment using Terraform. The Terraform
1212

1313
{% page-ref page="kubernetes-amazon-eks-with-terraform.md" %}
1414

15+
### Azure AKS \(with Terraform\)
16+
17+
This guide installs Feast into an Azure environment using Terraform. The Terraform script is opinionated and intended to allow you to start quickly.
18+
19+
{% page-ref page="kubernetes-azure-aks-with-terraform.md" %}
20+
21+
### Google Cloud GKE \(with Terraform\)
22+
23+
This guide installs Feast into a Google Cloud environment using Terraform. The Terraform script is opinionated and intended to allow you to start quickly.
24+
25+
{% page-ref page="google-cloud-gke-with-terraform.md" %}
26+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Azure AKS \(with Terraform\)
2+
3+
### Overview
4+
5+
This guide installs Feast on Azure using our [reference Terraform configuration](https://github.com/feast-dev/feast/tree/master/infra/terraform/azure).
6+
7+
{% hint style="info" %}
8+
The Terraform configuration used here is a greenfield installation that neither assumes anything about, nor integrates with, existing resources in your Azure account. The Terraform configuration presents an easy way to get started, but you may want to customize this set up before using Feast in production.
9+
{% endhint %}
10+
11+
This Terraform configuration creates the following resources:
12+
13+
* Kubernetes cluster on Azure AKS
14+
* Kafka managed by HDInsight
15+
* Postgres database for Feast metadata, running as a pod on AKS
16+
* Redis cluster, using Azure Cache for Redis
17+
* [spark-on-k8s-operator](https://github.com/GoogleCloudPlatform/spark-on-k8s-operator) to run Spark
18+
* Staging Azure blob storage container to store temporary data
19+
20+
### 1. Requirements
21+
22+
* Create an Azure account and [configure credentials locally](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
23+
* Install [Terraform](https://www.terraform.io/) \(tested with 0.13.5\)
24+
* Install [Helm](https://helm.sh/docs/intro/install/) \(tested with v3.4.2\)
25+
26+
### 2. Configure Terraform
27+
28+
Create a `.tfvars` file under`feast/infra/terraform/azure`. Name the file. In our example, we use `my_feast.tfvars`. You can see the full list of configuration variables in `variables.tf`. At a minimum, you need to set `name_prefix` and `resource_group`:
29+
30+
{% code title="my\_feast.tfvars" %}
31+
```typescript
32+
name_prefix = "feast"
33+
resource_group = "Feast" # pre-existing resource group
34+
```
35+
{% endcode %}
36+
37+
### 3. Apply
38+
39+
After completing the configuration, initialize Terraform and apply:
40+
41+
```bash
42+
$ cd feast/infra/terraform/azure
43+
$ terraform init
44+
$ terraform apply -var-file=my_feast.tfvars
45+
```
46+
47+
### 4. Connect to Feast using Jupyter
48+
49+
After all pods are running, connect to the Jupyter Notebook Server running in the cluster.
50+
51+
To connect to the remote Feast server you just created, forward a port from the remote k8s cluster to your local machine.
52+
53+
```bash
54+
kubectl port-forward $(kubectl get pod -o custom-columns=:metadata.name | grep jupyter) 8888:8888
55+
```
56+
57+
```text
58+
Forwarding from 127.0.0.1:8888 -> 8888
59+
Forwarding from [::1]:8888 -> 8888
60+
```
61+
62+
You can now connect to the bundled Jupyter Notebook Server at `localhost:8888` and follow the example Jupyter notebook.
63+

0 commit comments

Comments
 (0)