aerolab

Docs home

Sub-topics:

Partitioning disks in GCP

Use all disks for a namespace

Use all NVME disks for a namespace

Create Partitioning for Two Namespaces

Configure Shadow Devices

Partition NVME and EBS for All-Flash Storage

AeroLab on GCP

Prerequisites

The gcloud SDK is required in order to configure authentication to the GCP account to be used with AeroLab.

To install the gcloud SDK, follow this manual

Once the SDK has been installed, authenticate on the computer using gcloud auth application-default login. AeroLab will automatically use the credentails generated by the gcloud command.

Configure the GCP backend with AeroLab

The most basic configuration is:

aerolab config backend -t gcp -o project-name

To specify a custom location where SSH keys are stored and set the project configuration, extra parameters may be supplied:

aerolab config backend -t gcp -o project-name -p /PATH/TO/KEYS [-d /path/to/tmpdir/for-aerolab/to/use]

Set the default GCP Zone to deploy to

A default zone can be set, so that it doesn’t have to be specified as a parameter every time.

aerolab config defaults -k '*.Zone' -v 'us-central1-a'

Enable services on AeroLab using gcloud command automatically

Google Cloud has all services and APIs disabled until requested to enable those. AeroLab has a feature for enabling any services it needs if they are disabled.

aerolab config gcp enable-services

Deploy an Aerospike cluster in GCP

Extra parameters are required when working with the gcp backend as opposed to the docker backend.

Executing aerolab cluster create help once the backend has been selected displays the relevant options.

Examples:

Basic cluster with 20GB root volume and 2x 40GB persistent ssd volumes

aerolab cluster create -n testcluster -c 3 --instance e2-medium --zone us-central1-a --disk pd-balanced:20 --disk pd-ssd:40 --disk pd-ssd:40

Basic cluster with 40GB root volume, 2x local SSD drives and 2x 380GB persistent ssd volumes

Disk volumes can be requested using a shorthand of type:size@count or local-ssd@count, for example:

aerolab cluster create -n testcluster -c 3 --instance c2d-standard-16 --zone us-central1-a --disk=pd-ssd:40 --disk=local-ssd@2 --disk=pd-ssd:380@2

Lock security-groups so that machines are only accessible from the AeroLab IP address:

aerolab config gcp lock-firewall-rules

Lock security-groups so that machines are only accessible from a given IP range:

aerolab config gcp lock-firewall-rules --ip 1.2.3.4/32

Destroy cluster:

aerolab cluster destroy -n testcluster

Destroy aerolab-managed security groups:

aerolab config gcp delete-firewall-rules

Other commands

All commands are supported on aws, gcp and docker backends and should behave exactly the same.

Note on shared GCP accounts and KeyPairs

AeroLab creates and destroys SSH key pairs as needed. However, if a particular cluster is created by user X, user Y can only access the cluster if user X shares their key pair for that cluster.

By default, keys are stored in ${HOME}/aerolab-keys.