Getting Started With etcd

Compose is proud to provide you etcd by CoreOS as our latest beta offering. As you read in yesterday's announcement post, you can now spin up a 3 member, 2 proxy etcd cluster. etcd excels at configuration management, distributing often updated configuration files across multiple members in a highly available, secure cluster.

Before we dive in, we'd like to direct you to some information you may find useful. If you're brand new to etcd and want to explore some basic connectivity and communication commands, take a look at our etcd playground in the help files. If you just want to dig in and get a production calibre cluster up and running, let's get started.

Create Your Deployment

If you're ready to add an etcd cluster to your production environment, a production-ready deployment is a great way to start. If you don't already have one, now would be a good time to create your Compose account.

To create your deployment, login to your dashboard and click the 'Create Deployment' button in the top right corner.

We've recently revamped our deployment screen, under 'Beta Deployments' you'll find etcd. After you've selected your deployment, you can provide a name for the cluster and select a location. Presently, we offer:

Click 'Create Deployment' and witness the construction of your new etcd deployment.

Connecting To etcd

Our administrative panel gives you seven different menu options to choose from. Starting with 'Overview', the default deployment menu, you are able to see the connection information for your cluster. We generate a randomized, secure root password that you can reveal into 'Connection strings' for your application code - or the 'Command line' - for communicating with your cluster.

To reveal your username and password, click 'Show' next to credentials. The 'Command line' string can then be inserted into any terminal where etcd is installed. You will receive a list of the contents of the top level directory (/). You have the option of adding your development machine to the IP Address Whitelist within the 'Security' tab. More on that later.

Topology will show you each entity within your cluster: haproxy, indicated by 'portal', and then each etcd member. The publicly accessible hostname will be associated with your proxies. Beneath this, you'll find billing options. In an entry-level cluster, you're allocated 1GB of disk and 256MB of RAM for $28.50 per month.

If you have an uncommon case of needing to pre-emptively scale your deployment up, you can trigger a 2x, 3x or 4x increase immediately.

Backups

Automatic backups take place daily. We will retain 14 backups at a time: 7 daily backups, 4 weekly, and 3 monthly. You can invoke up to 10 'on demand' backups per week by clicking the 'Back up now' button. A backup will not affect performance, and can be downloaded at any time by clicking the green download icon.

Jobs

Jobs keeps track of major operations that happen within your etcd deployment. We keep track of the initial provisioning event on to whitelist additions, scaling and back-ups; you can keep your eye on what your cluster is up to. The status will change to indicate whether something is running, has failed, or is complete. If you notice something is failing or running long, contact support.

Settings

If you've decided you no longer require your etcd cluster or if you want to know which version is currently running, you can find this information within the 'Settings' tab. Ensure that you have successfully backed-up your data before deleting your deployment.

Metrics

We provide a memory metric graph for each member of your cluster. Your initial etcd cluster will contain 3 members, giving you 3 graphs. Each graph shows 2 values as indicated on the legend. The first, in blue, is 'Memory Usage' and it is inclusive of both system and heap memory. The second, Memory Fail Counts, will indicate how many times - if any - that you are hitting your resource limit.

Log Files

Each day, you'll receive one back-up per member. You can download and examine each log by clicking on the blue download link. Backups are compressed and stored on Amazon s3 and last for 7 days.

Security

IP Address whitelisting will allow you to add your application or development hosts as trusted contacts for your cluster. The security tab will provide a list of IP addresses that you have permitted. To add a new trusted connection, click 'Add IP'.

Fill out the IP address of your server and provide a name to identify the host.

Once added, you will see a new 'Job' adding the IP to your whitelist, and you will see 'my-dev-server' as an approved connection under the 'Security' heading.

Manage Your Configurations

We're thrilled to see the creative ways our community applies etcd in their production environments. If you feel you have a unique use-case that you'd like to write about, our Write Stuff program is looking for technical authors to help inform other users on how they're working etcd or any other database offering into their production environments. Anyone interesting in some informal chat about etcd or anything else database related, join us within #compose on Freenode.

In the coming days, we'll be releasing a deep technical dive into etcd from our resident Content Curator, DJ.

Have fun!