mirror of https://github.com/docker/docs.git
machine exoscale: support SSH key file
Signed-off-by: Yoan Blanc <yoan.blanc@exoscale.ch>
This commit is contained in:
parent
25d20f02d3
commit
d10564f5f4
|
@ -4,16 +4,18 @@ keywords: machine, exoscale, driver
|
||||||
title: Exoscale
|
title: Exoscale
|
||||||
---
|
---
|
||||||
|
|
||||||
Create machines on [Exoscale](https://www.exoscale.ch/).
|
Create machines on [Exoscale](https://www.exoscale.com/).
|
||||||
|
|
||||||
Get your API key and API secret key from [API details](https://portal.exoscale.ch/account/api) and pass them to `machine create` with the `--exoscale-api-key` and `--exoscale-api-secret-key` options.
|
Get your API key and API secret key from [API details](https://portal.exoscale.com/account/api) and pass them to `machine create` with the `--exoscale-api-key` and `--exoscale-api-secret-key` options.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
$ docker-machine create --driver exoscale \
|
$ docker-machine create --driver exoscale \
|
||||||
--exoscale-api-key=API \
|
--exoscale-api-key=API \
|
||||||
--exoscale-api-secret-key=SECRET \
|
--exoscale-api-secret-key=SECRET \
|
||||||
vm
|
MY_COMPUTE_INSTANCE
|
||||||
|
|
||||||
|
If you encounter any troubles, activate the debug mode with `docker-machine --debug create ...`.
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
|
@ -21,11 +23,12 @@ Get your API key and API secret key from [API details](https://portal.exoscale.c
|
||||||
- `--exoscale-api-key`: **required** Your API key;
|
- `--exoscale-api-key`: **required** Your API key;
|
||||||
- `--exoscale-api-secret-key`: **required** Your API secret key;
|
- `--exoscale-api-secret-key`: **required** Your API secret key;
|
||||||
- `--exoscale-availability-zone`: Exoscale [availability zone][datacenters] (ch-dk-2, at-vie-1, de-fra-1, ...);
|
- `--exoscale-availability-zone`: Exoscale [availability zone][datacenters] (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-disk-size`: Disk size for the host in GiB (at least 10);
|
||||||
- `--exoscale-image`: Image template, for example `ubuntu-16.04`, also known as `Linux Ubuntu 16.04 LTS 64-bit`, [see below](#image-template-name));
|
- `--exoscale-image`: Image template, for example `ubuntu-16.04`, also known as `Linux Ubuntu 16.04 LTS 64-bit`, [see below](#image-template-name));
|
||||||
- `--exoscale-instance-profile`: Instance profile (Small, Medium, Large, ...);
|
- `--exoscale-instance-profile`: Instance profile (Small, Medium, Large, ...);
|
||||||
- `--exoscale-security-group`: Security group. _It is created if it doesn't exist_;
|
- `--exoscale-security-group`: Security group. _It is created if it doesn't exist_;
|
||||||
- `--exoscale-ssh-user`: SSH username, such as `ubuntu`, [see below](#ssh-username));
|
- `--exoscale-ssh-key`: Path to the SSH user private key. _A new one is created if left empty_;
|
||||||
|
- `--exoscale-ssh-user`: SSH username to connect, such as `ubuntu`, [see below](#ssh-username));
|
||||||
- `--exoscale-url`: Your API endpoint;
|
- `--exoscale-url`: Your API endpoint;
|
||||||
- `--exoscale-userdata`: Path to file containing user data for [cloud-init](https://cloud-init.io/);
|
- `--exoscale-userdata`: Path to file containing user data for [cloud-init](https://cloud-init.io/);
|
||||||
|
|
||||||
|
@ -38,9 +41,10 @@ Get your API key and API secret key from [API details](https://portal.exoscale.c
|
||||||
| **`--exoscale-api-secret-key`** | `EXOSCALE_API_SECRET` | - |
|
| **`--exoscale-api-secret-key`** | `EXOSCALE_API_SECRET` | - |
|
||||||
| `--exoscale-availability-zone` | `EXOSCALE_AVAILABILITY_ZONE` | `ch-dk-2` |
|
| `--exoscale-availability-zone` | `EXOSCALE_AVAILABILITY_ZONE` | `ch-dk-2` |
|
||||||
| `--exoscale-disk-size` | `EXOSCALE_DISK_SIZE` | `50` |
|
| `--exoscale-disk-size` | `EXOSCALE_DISK_SIZE` | `50` |
|
||||||
| `--exoscale-image` | `EXOSCALE_IMAGE` | `ubuntu-16.04` |
|
| `--exoscale-image` | `EXOSCALE_IMAGE` | `Linux Ubuntu 16.04 LTS 64-bit` |
|
||||||
| `--exoscale-instance-profile` | `EXOSCALE_INSTANCE_PROFILE` | `small` |
|
| `--exoscale-instance-profile` | `EXOSCALE_INSTANCE_PROFILE` | `small` |
|
||||||
| `--exoscale-security-group` | `EXOSCALE_SECURITY_GROUP` | `docker-machine` |
|
| `--exoscale-security-group` | `EXOSCALE_SECURITY_GROUP` | `docker-machine` |
|
||||||
|
| `--exoscale-ssh-key` | `EXOSCALE_SSH_KEY` | - |
|
||||||
| `--exoscale-ssh-user` | `EXOSCALE_SSH_USER` | - |
|
| `--exoscale-ssh-user` | `EXOSCALE_SSH_USER` | - |
|
||||||
| `--exoscale-url` | `EXOSCALE_ENDPOINT` | `https://api.exoscale.ch/compute` |
|
| `--exoscale-url` | `EXOSCALE_ENDPOINT` | `https://api.exoscale.ch/compute` |
|
||||||
| `--exoscale-userdata` | `EXOSCALE_USERDATA` | - |
|
| `--exoscale-userdata` | `EXOSCALE_USERDATA` | - |
|
||||||
|
@ -49,7 +53,8 @@ Get your API key and API secret key from [API details](https://portal.exoscale.c
|
||||||
|
|
||||||
### Image template name
|
### Image template name
|
||||||
|
|
||||||
The [VM templates][templates] available at Exoscale are listed on the Portal when adding a new instance.
|
The [VM templates][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
|
For any Linux template, you may use the shorter name composed only of the name
|
||||||
and version, as shown below.
|
and version, as shown below.
|
||||||
|
@ -61,28 +66,38 @@ and version, as shown below.
|
||||||
| Linux CentOS 7.3 64-bit | `centos-7.3` |
|
| Linux CentOS 7.3 64-bit | `centos-7.3` |
|
||||||
| Linux CoreOS stable 1298 64-bit | `coreos-stable-1298` |
|
| Linux CoreOS stable 1298 64-bit | `coreos-stable-1298` |
|
||||||
|
|
||||||
**NB:** Docker doesn't work for non-Linux machines like OpenBSD and Windows Server.
|
**NB:** Docker doesn't work for non-Linux machines like OpenBSD or Windows Server.
|
||||||
|
|
||||||
### SSH Username
|
### SSH Username
|
||||||
|
|
||||||
The exoscale driver does a wild guess to match the default SSH user. If left empty, it picks a suitable one:
|
The Exoscale driver does an educated guess to pick the correct default SSH
|
||||||
|
user. If left empty, it picks a suitable one following those rules:
|
||||||
|
|
||||||
- `centos` for Centos 7.3+;
|
- `centos` for CentOS;
|
||||||
- `core` for Linux CoreOS;
|
- `core` for Linux CoreOS (aka Container Linux);
|
||||||
- `debian` for Debian 8+;
|
- `debian` for Debian;
|
||||||
- `ubuntu` for Ubuntu;
|
- `ubuntu` for Ubuntu;
|
||||||
|
- `fedora` for Fedora;
|
||||||
|
- `cloud-user` for Red Hat;
|
||||||
- otherwise, `root`.
|
- otherwise, `root`.
|
||||||
|
|
||||||
### Custom security group
|
### 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.
|
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](/engine/swarm/swarm-tutorial/), also add TCP port 2377.
|
Moreover, if you want to use [Docker Swarm](/engine/swarm/swarm-tutorial/), also add TCP port 2377, UDP/TCP on 7946, and UDP on 4789.
|
||||||
|
|
||||||
|
### Debian 9
|
||||||
|
|
||||||
|
The [default storage driver][storagedriver] may fail on Debian, specifying `overlay2` should resolve this issue.
|
||||||
|
|
||||||
|
$ docker-machine create --engine-storage-driver overlay2 ...`
|
||||||
|
|
||||||
### More than 8 docker machines?
|
### 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`
|
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`
|
||||||
|
|
||||||
[templates]: https://www.exoscale.ch/open-cloud/templates/
|
[storagedriver]: https://docs.docker.com/storage/storagedriver/select-storage-driver/#docker-ce
|
||||||
[datacenters]: https://www.exoscale.ch/infrastructure/datacenters/
|
[templates]: https://www.exoscale.com/templates/
|
||||||
[anti-affinity]: https://community.exoscale.ch/documentation/compute/anti-affinity-groups/
|
[datacenters]: https://www.exoscale.com/datacenters/
|
||||||
|
[anti-affinity]: https://community.exoscale.com/documentation/compute/anti-affinity-groups/
|
||||||
|
|
Loading…
Reference in New Issue