Skip to content

Commit

Permalink
[HOSPSWORKS.AI-DOC] add cluster creation for AWS (#156)
Browse files Browse the repository at this point in the history
  • Loading branch information
Gautier Berthou authored Nov 18, 2020
1 parent 6b9e587 commit 5377e15
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 6 deletions.
Binary file added docs/assets/images/hopsworksai/aws/aws-tags.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
187 changes: 187 additions & 0 deletions docs/hopsworksai/aws/cluster_creation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
# Getting started with Hopsworks.ai (AWS)
This guide goes into detail for each of the steps of the cluster creation in Hopsworks.ai

### Step 1 starting to create a cluster

In Hopsworks.ai, select *Create cluster*:

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/create-instance.png">
<img src="../../../assets/images/hopsworksai/create-instance.png" alt="Create a Hopsworks cluster">
</a>
<figcaption>Create a Hopsworks cluster</figcaption>
</figure>
</p>

### Step 2 setting the General information

Select the *Region* in which you want your cluster to run (1), name your cluster (2).

Select the *Instance type* (3) and *Local storage* (4) size for the cluster *Head node*.

Select the number of workers you want to start the cluster with (5).
Select the *Instance type* (6) and *Local storage* size (7) for the *worker nodes*.

!!! note
It is possible to add or remove workers once the cluster is running.

Enter the name of the *S3 bucket* (8) you want the cluster to store its data in, in *S3 bucket*.

!!! note
The S3 bucket you are using must be empty.

Press *Next* (9):

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/create-instance-general.png">
<img src="../../../assets/images/hopsworksai/aws/create-instance-general.png" alt="Create a Hopsworks cluster, general Information">
</a>
<figcaption>Create a Hopsworks cluster, general information</figcaption>
</figure>
</p>

### Step 3 select an SSH key

When deploying clusters, Hopsworks.ai installs an ssh key on the cluster's instances so that you can access them if necessary.
Select the *SSH key* that you want to use to access cluster instances. For more detail on how to add a shh key in AWS refer to [Create an ssh key](getting_started.md#step-3-create-an-ssh-key)

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/connect-aws-ssh.png">
<img src="../../../assets/images/hopsworksai/aws/connect-aws-ssh.png" alt="Choose SSH key">
</a>
<figcaption>Choose SSH key</figcaption>
</figure>
</p>

### Step 4 select the Instance Profile:

To let the cluster instances access the S3 bucket we need to attach an *instance profile* to the virtual machines. In this step, you choose which profile to use. This profile needs to have access right to the *S3 bucket* you selected in [Step 2](#step-2-setting-the-general-information). For more details on how to create the instance profile and give it access to the S3 bucket refer to [Creating an instance profile and giving it access to the bucket](getting_started.md#step-22-creating-an-instance-profile-and-giving-it-access-to-the-bucket)

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/connect-aws-profile.png">
<img src="../../../assets/images/hopsworksai/aws/connect-aws-profile.png" alt="Choose the instance profile">
</a>
<figcaption>Choose the instance profile</figcaption>
</figure>
</p>

### Step 5 Managed Containers:
Hopsworks can integrate with Amazon Elastic Kubernetes Service (EKS) and Amazon Elastic Container Registry (ECR) to launch Python jobs, Jupyter servers, and ML model servings on top of Amazon EKS. For more detail on how to set up this integration refer to [Integration with Amazon EKS and Amazon ECR](eks_ecr_integration.md).
<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/eks-hopsworks-create-cluster-2.png">
<img src="../../../assets/images/hopsworksai/aws/eks-hopsworks-create-cluster-2.png" alt="Add EKS cluster name">
</a>
<figcaption>Add EKS cluster name</figcaption>
</figure>
</p>

### Step 6 VPC selection
In this step, you can select the VPC which will be used by the Hopsworks cluster. You can either select an existing VPC or let Hopsworks.ai create one for you. If you decide to let Hopsworks.ai create the VPC for you, you can choose the CIDR block for this virtual network.
Refer to [Create a VPC](restrictive_permissions.md#step-1-create-a-vpc) for more details on how to create your own VPC in AWS.

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/create-aws-vpc.png">
<img src="../../../assets/images/hopsworksai/aws/create-aws-vpc.png" alt="Choose VPC">
</a>
<figcaption>Choose a VPC</figcaption>
</figure>
</p>

### Step 7 Availability Zone selection
If you selected an existing VPC in the previous step, this step lets you select which availability zone of this VPC to use.

If you did not select an existing virtual network in the previous step Hopsworks.ai will create an availability zone for you. You can choose the CIDR block this subnet will use.

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/connect-aws-subnet.png">
<img src="../../../assets/images/hopsworksai/aws/connect-aws-subnet.png" alt="Choose subnet">
</a>
<figcaption>Choose an availability zone</figcaption>
</figure>
</p>

### Step 8 Security group selection
If you selected an existing VPC in the previous step, this step lets you select which security group to use.

!!! note
For Hopsworks.ai to create the SSL certificates the security group needs to allow inbound traffic on port 80.

If you intend to use the managed users option on your Hopsworks cluster you should also add a rule to open port 443.

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/connect-aws-security-group.png">
<img src="../../../assets/images/hopsworksai/aws/connect-aws-security-group.png" alt="Choose security group">
</a>
<figcaption>Choose security group</figcaption>
</figure>
</p>

### Step 9 User management selection
In this step, you can choose which user management system to use. You have three choices:

* *Managed*: Hopsworks.ai automatically adds and removes users from the Hopsworks cluster when you add and remove users from your organization.
* *LDAP*: integrate the cluster with your organization's LDAP/ActiveDirectory server.
* *Disabled*: let you manage users manually from within Hopsworks.

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/aws-user-management.png">
<img src="../../../assets/images/hopsworksai/aws/aws-user-management.png" alt="Choose user management type">
</a>
<figcaption>Choose user management type</figcaption>
</figure>
</p>

### Step 10 add tags to your instances.
In this step, you can define tags that will be added to the cluster virtual machines.

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/aws-tags.png">
<img src="../../../assets/images/hopsworksai/aws/aws-tags.png" alt="Add tags">
</a>
<figcaption>Add tags</figcaption>
</figure>
</p>

### Step 11 Review and create
Review all information and select *Create*:

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/aws/connect-aws-review.png">
<img src="../../../assets/images/hopsworksai/aws/connect-aws-review.png" alt="Review cluster information">
</a>
<figcaption>Review cluster information</figcaption>
</figure>
</p>

The cluster will start. This will take a few minutes:

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/booting.png">
<img src="../../../assets/images/hopsworksai/booting.png" alt="Booting Hopsworks cluster">
</a>
<figcaption>Booting Hopsworks cluster</figcaption>
</figure>
</p>

As soon as the cluster has started, you will be able to log in to your new Hopsworks cluster with the username and password provided. You will also be able to stop, restart, or terminate the cluster.

<p align="center">
<figure>
<a href="../../../assets/images/hopsworksai/running.png">
<img src="../../../assets/images/hopsworksai/running.png" alt="Running Hopsworks cluster">
</a>
<figcaption>Running Hopsworks cluster</figcaption>
</figure>
</p>
2 changes: 1 addition & 1 deletion docs/hopsworksai/aws/restrictive_permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Hopsworks.ai to only access resources in a specific VPC.

To restrict Hopsworks.ai from accessing resources outside of a specific VPC, you need to create a new VPC
connected to an Internet Gateway. This can be achieved in the AWS Management Console following this guide:
[Create the VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html#getting-started-create-vpc).
[Create the VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html#getting-started-create-vpc).
The option VPC with a Single Public Subnet from the Launch VPC Wizard should work out of the box.
Alternatively, an existing VPC such as the default VPC can be used and Hopsworks.ai will be restricted to this VPC.
Note the VPC ID of the VPC you want to use for the following steps.
Expand Down
9 changes: 4 additions & 5 deletions docs/hopsworksai/azure/cluster_creation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ In Hopsworks.ai, select *Create cluster*:
</figure>
</p>

### Setp 2 setting the General information
### Step 2 setting the General information

Select the *Location* in which you want your cluster to run (1), name your cluster (2) and select the *Resource Group* (3) in which you want your cluster to run.

Expand Down Expand Up @@ -58,8 +58,7 @@ Select the *SSH key* that you want to use to access cluster instances. For more

### Step 4 select the User assigned managed identity:

In order to let the cluster instances access to the Azure storage we need to attach a *User assigned managed identity* to the virtual machines. In this step you choose which identity to use. This identity need to have access right to the *storage account* you selected in [Step 2](#setp-2-setting-the-general-information)
Select the *User assigned managed identity* that you created above:
In order to let the cluster instances access to the Azure storage we need to attach a *User assigned managed identity* to the virtual machines. In this step you choose which identity to use. This identity need to have access right to the *storage account* you selected in [Step 2](#step-2-setting-the-general-information). For more information about how to create this identity and give it access to the storage account refer to [Creating and configuring a storage](getting_started.md#step-2-creating-and-configuring-a-storage):

<p align="center">
<figure>
Expand Down Expand Up @@ -133,7 +132,7 @@ In this step, you can define tags that will be added to the cluster virtual mach
<a href="../../../assets/images/hopsworksai/azure/add-tags.png">
<img src="../../../assets/images/hopsworksai/azure/add-tags.png" alt="Add tags">
</a>
<figcaption>Choose user management type</figcaption>
<figcaption>Add tags</figcaption>
</figure>
</p>

Expand All @@ -160,7 +159,7 @@ The cluster will start. This will take a few minutes:
</figure>
</p>

As soon as the cluster has started, you will be able to log in to your new Hopsworks cluster with the username and password provided. You will also able to stop, restart, or terminate the cluster.
As soon as the cluster has started, you will be able to log in to your new Hopsworks cluster with the username and password provided. You will also be able to stop, restart, or terminate the cluster.

<p align="center">
<figure>
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ nav:
- AWS: hopsworksai/aws/restrictive_permissions.md
- Azure: hopsworksai/azure/restrictive_permissions.md
- Cluster creation:
- AWS: hopsworksai/aws/cluster_creation.md
- Azure: hopsworksai/azure/cluster_creation.md
# - Databricks Quickstart:
# - AWS: hopsworksai/aws/databricks_quickstart.md
Expand Down

0 comments on commit 5377e15

Please sign in to comment.