Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs page for Azure setup #1276

Merged
merged 2 commits into from
Jan 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* [Install Feast](getting-started/install-feast/README.md)
* [Kubernetes \(with Helm\)](getting-started/install-feast/kubernetes-with-helm.md)
* [Amazon EKS \(with Terraform\)](getting-started/install-feast/kubernetes-amazon-eks-with-terraform.md)
* [Azure AKS \(with Terraform\)](getting-started/install-feast/kubernetes-azure-aks-with-terraform.md)
* [Google Cloud GKE \(with Terraform\)](getting-started/install-feast/google-cloud-gke-with-terraform.md)
* [Connect to Feast](getting-started/connect-to-feast/README.md)
* [Python SDK](getting-started/connect-to-feast/python-sdk.md)
Expand Down
12 changes: 12 additions & 0 deletions docs/getting-started/install-feast/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,15 @@ This guide installs Feast into an AWS environment using Terraform. The Terraform

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

### Azure AKS \(with Terraform\)

This guide installs Feast into an Azure environment using Terraform. The Terraform script is opinionated and intended to allow you to start quickly.

{% page-ref page="kubernetes-azure-aks-with-terraform.md" %}

### Google Cloud GKE \(with Terraform\)

This guide installs Feast into a Google Cloud environment using Terraform. The Terraform script is opinionated and intended to allow you to start quickly.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be here? It's GKE?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes it should've been added to this page before so I just added it in as part of this diff


{% page-ref page="google-cloud-gke-with-terraform.md" %}

Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Azure AKS \(with Terraform\)

### Overview

This guide installs Feast on Azure using our [reference Terraform configuration](https://github.com/feast-dev/feast/tree/master/infra/terraform/azure).

{% hint style="info" %}
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.
{% endhint %}

This Terraform configuration creates the following resources:

* Kubernetes cluster on Azure AKS
* Kafka managed by HDInsight
* Postgres database for Feast metadata, running as a pod on AKS
* Redis cluster, using Azure Cache for Redis
* [spark-on-k8s-operator](https://github.com/GoogleCloudPlatform/spark-on-k8s-operator) to run Spark
* Staging Azure blob storage container to store temporary data

### 1. Requirements

* Create an Azure account and [configure credentials locally](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
* Install [Terraform](https://www.terraform.io/) \(tested with 0.13.5\)
* Install [Helm](https://helm.sh/docs/intro/install/) \(tested with v3.4.2\)

### 2. Configure Terraform

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`:

{% code title="my\_feast.tfvars" %}
```typescript
name_prefix = "feast"
resource_group = "Feast" # pre-existing resource group
```
{% endcode %}

### 3. Apply

After completing the configuration, initialize Terraform and apply:

```bash
$ cd feast/infra/terraform/azure
$ terraform init
$ terraform apply -var-file=my_feast.tfvars
```

### 4. Connect to Feast using Jupyter

After all pods are running, connect to the Jupyter Notebook Server running in the cluster.

To connect to the remote Feast server you just created, forward a port from the remote k8s cluster to your local machine.

```bash
kubectl port-forward $(kubectl get pod -o custom-columns=:metadata.name | grep jupyter) 8888:8888
```

```text
Forwarding from 127.0.0.1:8888 -> 8888
Forwarding from [::1]:8888 -> 8888
```

You can now connect to the bundled Jupyter Notebook Server at `localhost:8888` and follow the example Jupyter notebook.