Prepare Your Cluster

To prepare a Linode environment for a Hydrolix deployment, use the Linode Cloud console. You'll need to create a new object storage bucket with an access key, a Kubernetes cluster, and a PostgreSQL instance.

Set Environment Variables

To begin, set up some environment variables using an env.sh script. Replace the < > values below with your actual values:

export HDX_KUBERNETES_NAMESPACE=<e.g. production-service>

Load these environment variables with the following command:

source env.sh

Create your Bucket

Begin by logging in to the Linode Cloud console. Click the Create button. From the resulting list, select the "Bucket" option:

597

Enter a name for the bucket. Hydrolix will store all of your row data in this bucket. Choose a region; we recommend Atlanta:

482

Create an Access Key

Next, create an access key so Hydrolix can securely connect to your storage bucket. Within the Linode Cloud console, navigate to the "Object Storage" page. Click on "Access Keys" to view the access keys tab:

1485

Click the "Create Access Key" button. Enter a name for the key. Enable the "Limited Access" toggle. Grant the key "Read/Write" access to the bucket you created in the previous step. Click the "Create Access Key" button to create the keys.

691

A dialog will appear in the Linode Cloud console, displaying your access key and your secret key.
Store your secret key somewhere secure, like a password manager: Linode can only show you this key once.
You can view the access key at any time, but it's best to save it now since you'll need it to create your cluster.
Once you've recorded the keys, click the "I Have Saved My Secret Key" button to dismiss the dialog.

Create the Kubernetes Cluster

Now it's time to create the Kubernetes cluster where you'll deploy Hydrolix services. In the Linodes Cloud console, click the Create button. From the resulting list, select the "Kubernetes" option:

617
  1. Enter a name for your cluster.
  2. Select the same region used to create your bucket (we recommend Atlanta).
  3. Use the latest version of Kubernetes.
  4. For high availability, use 3 nodes.
  5. Click the "Add" button to open a cluster summary dialog.
  6. Click "Create Cluster" to instantiate your cluster.
1484

Configure the Kubernetes Cluster

After creating the cluster, you should see the following cluster summary page:

1294

First, download your kubeconfig.yaml file. Save it to your local computer. You'll use this file to connect to your cluster on the command line.

Next, configure autoscaling for your cluster:

  1. Click "Autoscale Pool" to open a dialog where you can configure autoscaling.
  2. Enable the "Autoscaler" toggle.
  3. For the "Max" setting, enter a value of "20".
  4. Click the "Save Changes" button to update your cluster configuration.
601

You can now connect to your cluster with kubectl:

kubectl --kubeconfig <configfile>

Create the PostgreSQL Database

In the Linodes Cloud console, click the Create button. From the resulting list, select the "Database" option:

804
  1. Enter a name for your database.
  2. Select the latest update of version 11 of PostgreSQL.
  3. Select the same region used to create your bucket (we recommend Atlanta).
1126

Under "Choose a Plan", select the "Dedicated 16 GB" size:

2380
  1. For high availability, select 3 Nodes.
  2. To ensure your Kubernetes cluster can connect to your database, add the following IP range: 192.168.0.0/16.
2466

Database creation can take up to 30min. Once created, you'll need the following connection details:

1576

What’s Next

Now we need to download Hydrolix Kubernetes Tools and deploy our operator!