* Reword lots of instances of 'will' * Reword lots of instances of won't * Reword lots of instances of we'll * Eradicate you'll * Eradicate 'be able to' type of phrases * Eradicate 'unable to' type of phrases * Eradicate 'has / have to' type of phrases * Eradicate 'note that' type of phrases * Eradicate 'in order to' type of phrases * Redirect to official Chef and Puppet docs * Eradicate gratuitous 'please' * Reduce use of e.g. * Reduce use of i.e. * Reduce use of N.B. * Get rid of 'sexagesimal' and correct some errors
4.5 KiB
description, keywords, title
| 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-affinity-group: Anti-affinity group the machine is started in.--exoscale-api-key: required Your API key;--exoscale-api-secret-key: required Your API secret key;--exoscale-availability-zone: Exoscale availability zone (ch-dk-2, at-vie-1, de-fra-1, ...);--exoscale-disk-size: Disk size for the host in GB (10, 50, 100, 200, 400);--exoscale-image: Image template, for exampleubuntu-16.04, also known asLinux Ubuntu 16.04 LTS 64-bit, see below);--exoscale-instance-profile: Instance profile (Small, Medium, Large, ...);--exoscale-security-group: Security group. It is created if it doesn't exist;--exoscale-ssh-user: SSH username, such asubuntu, see below);--exoscale-url: Your API endpoint;--exoscale-userdata: Path to file containing user data for cloud-init;
Environment variables and default values
| CLI option | Environment variable | Default |
|---|---|---|
--exoscale-affinity-group |
EXOSCALE_AFFINITY_GROUP |
- |
--exoscale-api-key |
EXOSCALE_API_KEY |
- |
--exoscale-api-secret-key |
EXOSCALE_API_SECRET |
- |
--exoscale-availability-zone |
EXOSCALE_AVAILABILITY_ZONE |
ch-dk-2 |
--exoscale-disk-size |
EXOSCALE_DISK_SIZE |
50 |
--exoscale-image |
EXOSCALE_IMAGE |
ubuntu-16.04 |
--exoscale-instance-profile |
EXOSCALE_INSTANCE_PROFILE |
small |
--exoscale-security-group |
EXOSCALE_SECURITY_GROUP |
docker-machine |
--exoscale-ssh-user |
EXOSCALE_SSH_USER |
- |
--exoscale-url |
EXOSCALE_ENDPOINT |
https://api.exoscale.ch/compute |
--exoscale-userdata |
EXOSCALE_USERDATA |
- |
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, as shown below.
| 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 doesn'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:
centosfor Centos 7.3+;corefor Linux CoreOS;debianfor Debian 8+;ubuntufor 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