docker-machine-driver-outscale
Outscale Driver plugin for docker-machine
Install
If you would rather build from source, you will need to have a working go
1.17+ environment,
eval $(go env)
export PATH="$PATH:$GOPATH/bin"
You can then install docker-machine
from source by running:
go get github.com/docker/machine
cd $GOPATH/src/github.com/docker/machine
make build
And then compile the docker-machine-driver-outscale
driver:
go get github.com/outscale-dev/docker-machine-driver-outscale
cd $GOPATH/src/github.com/outscale-dev/docker-machine-driver-outscale
make install
Run
In order to create a machine, you will need to have you AK/SK . You can find information here: Documentation
docker-machine create -d outscale --outscale-access-key=<outscale-access-key> --outscale-secret-key=<outscale-secret-key> --outscale-region=<outscale-region> outscale
Options
Argument |
Env |
Default |
Description |
outscale-access-key |
OUTSCALE_ACCESS_KEY|OSC_ACCESS_KEY |
None |
required Outscale Access Key (see here) |
outscale-secret-key |
OUTSCALE_SECRET_KEY|OSC_SECRET_KEY |
None |
required Outscale Secret Key (see here) |
outscale-region |
OUTSCALE_REGION|OSC_REGION |
eu-west-2 |
Outscale Region |
outscale-instance-type |
OUTSCALE_INSTANCE_TYPE |
tinav2.c1r2p3 (t2.small) |
Outscale VM Instance Type (see here) |
outscale-source-omi |
OUTSCALE_SOURCE_OMI |
ami-2cf1fa3e (Debian-10-2021.05.12-3) |
Outscale Machine Image to use as bootstrap for the VM (see here) |
outscale-extra-tags-all |
`` |
nil |
Extra tags for all created resources. Format "key=value". Can be set multiple times |
outscale-extra-tags-instances |
`` |
nil |
Extra tags only for instances. Format "key=value". Can be set multiple times |
outscale-security-group-ids |
`` |
nil |
Ids of user defined Security Groups to add to the machine. Can be set multiple times |
outscale-root-disk-type |
`` |
gp2 |
Type of volume for the root disk ('standard', 'io1' or 'gp2') |
outscale-root-disk-size |
`` |
15 |
Size of the root disk in GB (> 0) |
outscale-root-disk-iops |
`` |
1500 |
Iops for the io1 root disk type (ignore if it is not io1). Value between 1 and 13000. |
outscale-subnet-id |
`` |
`` |
Id of the Net use to create all resources when a private network is requested. |
outscale-kubernetes-node-name-autotag |
`` |
false |
Automatically add kubernetes tag 'OscK8sNodeName' to the instance (Useful for the CCM). |
Security group
If no Security group is provided, a security group will be created with theses rules
Type |
Protocol |
From Port |
To Port |
CIDR |
Description |
Inbound |
TCP |
22 |
22 |
0.0.0.0/0 |
SSH |
Inbound |
TCP |
80 |
80 |
0.0.0.0/0 |
nginx Ingress Http |
Inbound |
TCP |
443 |
443 |
0.0.0.0/0 |
nginx Ingress Https |
Inbound |
TCP |
2376 |
2376 |
0.0.0.0/0 |
Docker daemon |
Inbound |
TCP |
2379 |
2380 |
0.0.0.0/0 |
ETCD (client request and peer communication) |
Inbound |
TCP |
6443 |
6443 |
0.0.0.0/0 |
Kube-api |
Inbound |
TCP |
10250 |
10250 |
0.0.0.0/0 |
Kubelet |
Inbound |
TCP |
10251 |
10251 |
0.0.0.0/0 |
Kube-scheduler |
Inbound |
TCP |
10252 |
10252 |
0.0.0.0/0 |
Kube-controller-manager |
Inbound |
TCP |
10256 |
10256 |
0.0.0.0/0 |
Kube-proxy |
Inbound |
TCP |
30000 |
32767 |
0.0.0.0/0 |
Node port |
Inbound |
UDP |
30000 |
32767 |
0.0.0.0/0 |
Node port |
Inbound |
UDP |
8472 |
8472 |
0.0.0.0/0 |
Canal/Flannel overlay |
Inbound |
UDP |
4789 |
4789 |
0.0.0.0/0 |
Canal/Flannel overlay |
In the example section, there are some exampe of minimal Security Group preprovisionned for different use-cased:
Debugging
Detailed run output will be emitted when using the docker-machine
--debug
option.
docker-machine --debug create -d outscale --outscale-access-key=<outscale-access-key> --outscale-secret-key=<outscale-secret-key> --outscale-region=<outscale-region> outscale
License
Copyright Outscale SAS
BSD-3-Clause
This project is compliant with REUSE.