Skip to content

Latest commit

 

History

History
87 lines (64 loc) · 4.47 KB

exoscale.md

File metadata and controls

87 lines (64 loc) · 4.47 KB
description keywords title
Exoscale driver for machine
machine, exoscale, driver
Exoscale

Create machines on Exoscale.

Get your API key and API secret key from API details and pass them to machine create with the --exoscale-api-key and --exoscale-api-secret-key options.

Usage

$ docker-machine create --driver exoscale \
    --exoscale-api-key=API \
    --exoscale-api-secret-key=SECRET \
    vm

Options

  • --exoscale-url: Your API endpoint;
  • --exoscale-api-key: required Your API key;
  • --exoscale-api-secret-key: required Your API secret key;
  • --exoscale-instance-profile: Instance profile (Small, Medium, Large, ...);
  • --exoscale-disk-size: Disk size for the host in GB (10, 50, 100, 200, 400);
  • --exoscale-image: Image template (e.g. Linux Ubuntu 16.04 LTS 64-bit also known as ubuntu-16.04, see below);
  • --exoscale-security-group: Security group. It will be created if it doesn't exist;
  • --exoscale-availability-zone: Exoscale availability zone (CH-DK-2, AT-VIE-1, DE-FRA-1, ...);
  • --exoscale-ssh-user: SSH username (e.g. ubuntu, see below);
  • --exoscale-userdata: Path to file containing user data for cloud-init;
  • --exoscale-affinity-group: Anti-affinity group the machine will be started in.

Environment variables and default values

CLI option Environment variable Default
--exoscale-url EXOSCALE_ENDPOINT https://api.exoscale.ch/compute
--exoscale-api-key EXOSCALE_API_KEY -
--exoscale-api-secret-key EXOSCALE_API_SECRET -
--exoscale-instance-profile EXOSCALE_INSTANCE_PROFILE small
--exoscale-disk-size EXOSCALE_DISK_SIZE 50
--exoscale-image EXOSCALE_IMAGE Linux Ubuntu 16.04 LTS 64-bit
--exoscale-security-group EXOSCALE_SECURITY_GROUP docker-machine
--exoscale-availability-zone EXOSCALE_AVAILABILITY_ZONE ch-dk-2
--exoscale-ssh-user EXOSCALE_SSH_USER -
--exoscale-userdata EXOSCALE_USERDATA -
--exoscale-affinity-group EXOSCALE_AFFINITY_GROUP -

NB: the instance profile, image, and availability zone are case insensitive.

Image template name

The VM templates available at Exoscale are listed on the Portal when adding a new instance.

For any Linux template, you may use the shorter name composed only of the name and version. E.g.

Full name Short name
Linux Debian 8 64-bit debian-8
Linux Ubuntu 16.04 LTS 64-bit ubuntu-16.04
Linux CentOS 7.3 64-bit centos-7.3
Linux CoreOS stable 1298 64-bit coreos-stable-1298

NB: Docker won't work for non-Linux machines like OpenBSD and Windows Server.

SSH Username

The exoscale driver does a wild guess to match the default SSH user. If left empty, it picks a suitable one:

  • centos for Centos 7.3+;
  • core for Linux CoreOS;
  • debian for Debian 8+;
  • ubuntu for Ubuntu;
  • otherwise, root.

Custom security group

If a custom security group is provided, you need to ensure that you allow TCP ports 22 and 2376 in an ingress rule.

Moreover, if you want to use Docker Swarm, also add TCP port 2377.

More than 8 docker machines?

There is a limit to the number of machines that an anti-affinity group can have. This can be worked around by specifying an additional anti-affinity group using --exoscale-affinity-group=docker-machineX