Skip to main content

Deploy a NeonKUBE Cluster on AWS

Prerequisites

  • AWS account
  • Accept the NeonKUBE EULA
  • Your AWS Access Key and Secret Key

Cluster Definition

First, you'll need to save this cluster definition as a YAML file on your machine. This provisions a single node cluster in us-west-2a using a c5.2xlarge based instance (currently, the NeonKUBE default instance size for AWS).

name: my-aws-cluster
hosting:
environment: aws
aws:
accessKeyId: [ACCESS_KEY_ID]
secretAccessKey: [SECRET_ACCESS_KEY]
availabilityZone: us-west-2a
defaultEbsOptimized: true
nodes:
control-0:
role: control-plane

Save the cluster definition somewhere on your disk, being sure to substitute your own AWS credentials for:

  • [ACCESS_KEY_ID]
  • [SECRET_ACCESS_KEY]
note

We plan on eventually integrating with AWS IAM Roles so AWS authntication will be more secure.

Cluster Deployment via NeonDESKTOP

  1. Right click the NeonDESKTOP icon in the taskbar > Deploy cluster

  2. Use the file picker to select the cluster definiton file you saved above

  3. Grab a coffee and wait for NeonDESKTOP to deploy the cluster.

Cluster Deployment via NeonCLI

Cluster deployment happens in two phases:

  • Configuring the hosting infrastructure, which involves configuring the Resource Group, VPC, starting the Instances, configuring the LoadBalancer, IP Addresses, Disks, etc.

  • Setting up the cluster. This involves configuring Linux and Kubernetes and then installing the necessary cluster components via Helm charts.

Execute the commands to deploy this cluster, passing the PATH to the cluster definition file you saved above and CLUSTERNAME to the cluster name as defined in the definition:

Prepare the cluster infrastructure

neon cluster prepare /path/to/your/cluster-definition.yaml

Setup the cluster

neon cluster setup sysadmin@my-aws-cluster

Then wait for cluster setup to complete.

note

These operations are currently coordinated by NeonDESKTOP or NeonCLI running on your machine, so you'll need to keep your computer running and connected to the network.

We plan on supporting cloud based deployment in the future where these operations will be managed in the cloud, rather than from your computer.