Skip to content
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
8 changes: 4 additions & 4 deletions cli/cmd/lib_cluster_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -284,21 +284,21 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds *

if clusterConfig.Spot != nil && *clusterConfig.Spot {
if *clusterConfig.SpotConfig.OnDemandBaseCapacity == 0 && *clusterConfig.SpotConfig.OnDemandPercentageAboveBaseCapacity == 0 {
fmt.Println(fmt.Sprintf("WARNING: you've disabled on-demand instances (%s=0 and %s=0); spot instances are not guaranteed to be available so please take that into account for production clusters", clusterconfig.OnDemandBaseCapacityKey, clusterconfig.OnDemandPercentageAboveBaseCapacityKey))
fmt.Printf("WARNING: you've disabled on-demand instances (%s=0 and %s=0); spot instances are not guaranteed to be available so please take that into account for production clusters; see https://www.cortex.dev/v/%s/cluster-management/spot-instances for more information\n", clusterconfig.OnDemandBaseCapacityKey, clusterconfig.OnDemandPercentageAboveBaseCapacityKey, consts.CortexVersionMinor)
} else {
fmt.Println("WARNING: you've enabled spot instances; spot instances are not guaranteed to be available so please take that into account for production clusters")
fmt.Printf("WARNING: you've enabled spot instances; spot instances are not guaranteed to be available so please take that into account for production clusters; see https://www.cortex.dev/v/%s/cluster-management/spot-instances for more information\n", consts.CortexVersionMinor)
}
fmt.Println()
}

exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config", consts.CortexVersionMinor)
exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config for more information", consts.CortexVersionMinor)
prompt.YesOrExit("would you like to continue with this installation?", exitMessage)
}

func confirmUpdateClusterConfig(clusterConfig *clusterconfig.Config, awsCreds *AWSCredentials) {
fmt.Println(clusterConfigConfirmaionStr(clusterConfig, awsCreds) + "\n")

exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config", consts.CortexVersionMinor)
exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config for more information", consts.CortexVersionMinor)
prompt.YesOrExit(fmt.Sprintf("your cluster (%s in %s) will be updated according to the configuration above, are you sure you want to continue?", clusterConfig.ClusterName, *clusterConfig.Region), exitMessage)
}

Expand Down
59 changes: 59 additions & 0 deletions docs/cluster-management/ec2-instances.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# EC2 instances

_WARNING: you are on the master branch, please refer to the docs on the branch that matches your `cortex version`_

You can spin up a Cortex cluster on a variety of AWS instance types. If you are unsure about which instance to pick, review these options as a starting point. This is not a comprehensive guide so please refer to the [full documentation](https://aws.amazon.com/ec2/instance-types/) on AWS for more information.

## T3 instances

[T3 instances](https://aws.amazon.com/ec2/instance-types/t3/) are useful for **development** clusters that primarily run model inferences with low compute and memory resource utilization.

* Example: [iris classification](../../examples/sklearn/iris-classifier)
* Compute: low
* Memory: low
* GPU: no
* AWS cost: starts at $0.0052 per hour*

## C5 instances

[C5 instances](https://aws.amazon.com/ec2/instance-types/c5/) are useful for clusters that primarily run model inferences with medium compute and low memory resource utilization.

* Example: [language identification](../../examples/pytorch/language-identifier)
* Compute: medium
* Memory: low
* GPU: no
* AWS cost: starts at $0.085 per hour*

## M5 instances

[M5 instances](https://aws.amazon.com/ec2/instance-types/m5/) are useful for clusters that primarily run model inferences with low compute and memory resource utilization.

* Example: [MPG estimation](../../examples/sklearn/mpg-estimator)
* Compute: low
* Memory: medium
* GPU: no
* AWS cost: starts at $0.096 per hour*

## G4 instances

[G4 instances](https://aws.amazon.com/ec2/instance-types/g4/) are useful for clusters that primarily run model inferences with high compute and low memory resource utilization that can run on GPUs.

* Example: [image classification](../../examples/tensorflow/image-classifier)
* Compute: high
* Memory: medium
* GPU: yes
* AWS cost: starts at $0.526 per hour*

## P2 instances

[P2 instances](https://aws.amazon.com/ec2/instance-types/p2/) are useful for clusters that primarily run model inferences with high compute and high memory resource utilization that can run on GPUs.

* Example: [text generation](../../examples/tensorflow/text-generator)
* Compute: high
* Memory: high
* GPU: yes
* AWS cost: starts at $0.900 per hour*

<br>

&ast; On-demand pricing for the US West (Oregon) AWS region.
4 changes: 2 additions & 2 deletions docs/cluster-management/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ _WARNING: you are on the master branch, please refer to the docs on the branch t
## Prerequisites

1. [Docker](https://docs.docker.com/install)
2. [AWS credentials](aws.md)
2. [AWS credentials](aws-credentials.md)

## Installation

See [cluster configuration](config.md) to learn how you can customize your cluster.
See [cluster configuration](config.md) to learn how you can customize your installation and [EC2 instances](ec2-instances.md) for an overview of how to pick an appropriate EC2 instance type for your cluster.

<!-- CORTEX_VERSION_MINOR -->
```bash
Expand Down
2 changes: 1 addition & 1 deletion docs/cluster-management/uninstall.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ _WARNING: you are on the master branch, please refer to the docs on the branch t

## Prerequisites

1. [AWS credentials](aws.md)
1. [AWS credentials](aws-credentials.md)
2. [Docker](https://docs.docker.com/install)
3. [Cortex CLI](install.md)
4. [AWS CLI](https://aws.amazon.com/cli)
Expand Down
2 changes: 1 addition & 1 deletion docs/cluster-management/update.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ _WARNING: you are on the master branch, please refer to the docs on the branch t
## Prerequisites

1. [Docker](https://docs.docker.com/install)
2. [AWS credentials](aws.md)
2. [AWS credentials](aws-credentials.md)

## Updating your cluster configuration

Expand Down
5 changes: 3 additions & 2 deletions docs/summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@

* [CLI commands](cluster-management/cli.md)
* [Cluster configuration](cluster-management/config.md)
* [Spot instances](cluster-management/spot-instances.md)
* [AWS credentials](cluster-management/aws.md)
* [AWS credentials](cluster-management/aws-credentials.md)
* [Security](cluster-management/security.md)
* [AWS instances](cluster-management/ec2-instances.md)
* [Spot instances](cluster-management/spot-instances.md)
* [Update](cluster-management/update.md)
* [Uninstall](cluster-management/uninstall.md)
* [Telemetry](cluster-management/telemetry.md)
Expand Down