Learn Running CoreOS on a VPS

October 18, 2019

Table of Contents

Please read: IT Web Services now offers CoreOS on the order page – This guide explains how to setup CoreOS manually.

These instructions will walk you through running a single CoreOS node. This guide assumes:

  • You have an account at IT Web Services.com.
  • The location of your iPXE script (referenced later in the guide) is located at http://example.com/script.txt
  • You have a public + private key combination generated. Here’s a helpful guide if you need to generate these keys: How to set up SSH keys.

Choosing a Channel

CoreOS is designed to be updated automatically with different schedules per channel. You can disable this feature, although we don’t recommend it. Read the release notes for specific features and bug fixes.

Stable Channel

The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted. At the time of writing, the current version is CoreOS 410.0.0.

A sample script will look like this:

set base-url http://stable.release.core-os.net/amd64-usr/current
kernel ${base-url}/coreos_production_pxe.vmlinuz cloud-config-url= sshkey="YOUR_PUBLIC_KEY_HERE"
initrd ${base-url}/coreos_production_pxe_image.cpio.gz

Beta Channel

The beta channel consists of promoted alpha releases. At the time of writing, the current version is CoreOS 410.0.0.

A sample script will look like this:

set base-url http://beta.release.core-os.net/amd64-usr/current
kernel ${base-url}/coreos_production_pxe.vmlinuz cloud-config-url= sshkey="YOUR_PUBLIC_KEY_HERE"
initrd ${base-url}/coreos_production_pxe_image.cpio.gz

Alpha Channel

The alpha channel closely tracks master and is released to frequently. The newest versions of docker, etcd and fleet will be available for testing. At the time of writing, the current version is CoreOS 435.0.0.

A sample script will look like this:

set base-url http://alpha.release.core-os.net/amd64-usr/current
kernel ${base-url}/coreos_production_pxe.vmlinuz cloud-config-url= sshkey="YOUR_PUBLIC_KEY_HERE"
initrd ${base-url}/coreos_production_pxe_image.cpio.gz

Make sure to replace YOUR_PUBLIC_KEY_HERE with your actual public key, it will begin with ssh-rsa....

Additional reading can be found at Booting CoreOS with iPXE and Embedded scripts for iPXE.

Using Cloud-Config

Please be sure to check out Using Cloud-Config.

In particular, note that the $private_ipv4 and $public_ipv4 variables are only supported on IT Web Services if you have the ‘cloud-config-url’ option set on your kernel command line.

Without this option, you will need to hard code these values into your cloud-config file.

Create the VPS

Create a new VPS (any server type and location of your choice), and then:

  1. For the “Operating System” select “Custom”.
  2. Select iPXE boot.
  3. Set the chain URL to the URL of your script http://example.com/script.txt. Note that the URL must be plain old HTTP, not HTTPS.
  4. Click “Place Order”.

Once you receive the welcome email the VPS will be ready to use (typically less than 2-3 minutes).

Accessing the VPS

You can now log in to CoreOS using the associated private key on your local computer. You may need to specify its location using -i LOCATION. If you need additional details on how to specify the location of your private key file see here.

SSH to the IP of your VPS, and specify the “core” user: ssh core@IP

$ ssh core@IP
The authenticity of host 'IP (2a02:1348:17c:423d:24:19ff:fef1:8f6)' can't be established.
RSA key fingerprint is 99:a5:13:60:07:5d:ac:eb:4b:f2:cb:c9:b2:ab:d7:21.
Are you sure you want to continue connecting (yes/no)? yes
Last login: Thu Oct 17 11:42:04 UTC 2013 from on pts/0
   ______                ____  _____
  / ____/___  ________  / __ / ___/
 / /   / __ / ___/ _ / / / /__ 
/ /___/ /_/ / /  /  __/ /_/ /___/ /
____/____/_/   ___/____//____/
core@srv-n8uak ~ $

Using CoreOS

Now that you have a cluster bootstrapped it is time to play around.

CoreOS is currently running from RAM, based on the loaded image. You may want to install it on the disk. Note that when following these instructions on IT Web Services, the device name should be /dev/vda rather than /dev/sda.

Check out the CoreOS Quickstart guide or dig into more specific topics.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!