рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
docker-machine create -d amazonec2 --swarm --swarm-master
(рдЖрджрд┐)docker-machine env
рдирдП рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдЯреАрдПрд▓рдПрд╕ рдкреНрд░рдорд╛рдгрд┐рдд рдЖрдИрдкреА рдмреЗрдореЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдЧрд╛docker-machine regenerate-certs
рдбреЙрдХрдЯрд░-рдорд╢реАрди рдПрдирд╡реА рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИdocker-machine env --swarm
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА docker рдпрд╛ docker-compose рдХрдорд╛рдВрдб рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреНрд▓реА рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ, рдмрд╕ рдХреБрдЫ рднреА рдирд╣реАрдВред --swarm IP рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ docker рдЫрд╡рд┐рдпрд╛рдВ рдЙрдЪрд┐рдд рдЫрд╡рд┐ рд╕реВрдЪреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреА, рд▓реЗрдХрд┐рди --swarm IP рдХреЗ рд╕рд╛рде рдпрд╣ рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдЧреА рдФрд░ рдХреЛрдИ рдЪрд┐рддреНрд░ рдирд╣реАрдВредрдХреНрдпрд╛ regenerate-certs
рдХреЛ рдореМрдЬреВрджрд╛ рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЬрдм рдЖрдк рдЭреБрдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрд░ рд╕реБрдирддрд╛ рд╣реИред docker inspect
рдкрд░ swarm manage
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИред
{
"Path": "/swarm",
"Args": [
"manage",
"--tlsverify",
"--tlscacert=/etc/docker/ca.pem",
"--tlscert=/etc/docker/server.pem",
"--tlskey=/etc/docker/server-key.pem",
"-H",
"tcp://0.0.0.0:3376",
"--strategy",
"spread",
"--advertise",
"PUBLICIP:2376",
"--replication",
"etcd://ectd.host:2379/swarm"
]
}
рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЬреЛ рддреНрд╡рд░рд┐рдд (рдФрд░ рдереЛрдбрд╝реЗ рдЖрд▓рд╕реА) рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд╛рдпрд╛ рд╣реИ, рд╡рд╣ рдХреЗрд╡рд▓ рдбреЙрдХ-рдорд╢реАрди рдХрдорд╛рдВрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЭреБрдВрдб рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬреЗрдиреЗрд░рд┐рдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред
docker-machine --debug create NEWNAME -d generic \
--generic-ip-address SERVERIP \
--generic-ssh-key KEYPATH \
--generic-ssh-user core \
--engine-label public=false \
--swarm \
--swarm-master \
--swarm-opt replication \
--swarm-discovery=etcd:/URL:PORT/swarm \
--engine-opt "cluster-store=etcd://URL:PORT/store" \
--engine-opt "cluster-advertise=eth0:2376"
рдЗрд╕ рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @dustinblackmanред рдпрд╣ рдХрд╛рдордХрд╛рдЬ рдореБрдЭреЗ рдмрд╣реБрдд рдорджрдж рдХрд░ рд░рд╣рд╛ рд╣реИ!
рдХреНрдпрд╛ рдЭреБрдВрдб рдорд╛рд╕реНрдЯрд░ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдорд╢реАрди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ?
рдЬрдм рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рджреЛ рдмрд╛рд░ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд▓рдЧрддрд╛ рд╣реИред
@ rm-jamotion docker-machine rm
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛? рдЖрдк рдорд╢реАрди рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ ~/.docker/machine/machines
рдореЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред
@dustinblackman рд╣рд╛рдБ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ aws рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реА рдорд╢реАрди рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдЬреЗрдиреЗрд░рд┐рдХ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдорд╢реАрди рдХреЛ рд╣рдЯрд╛рдХрд░ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдорд╢реАрди рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛред рддреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХреА рд╕реНрдЯрд╛рд░реНрдЯ/рд╕реНрдЯреЙрдк рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдВрдЧреА ...
рдбреЙрдХрд░-рдорд╢реАрди рд╕рдВрд╕реНрдХрд░рдг 0.7.0, рдмрд┐рд▓реНрдб 783b3a8,
рдпрд╣ рдХреЗрд╡рд▓ рдЖрдИрдкреА рдкрддреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдЖрдИрдкреА рдкрддреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рднреА рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдкреБрдирд░реНрдЬрдиреНрдо-рд╕рд░реНрдЯ рдЧрд▓рдд рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
sudo openssl x509 -in /var/lib/boot2docker/server.pem -noout -text | grep -A8 "X509v3 extensions"
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Alternative Name:
DNS:localhost, IP Address:10.10.0.148
рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЗ рд▓реЙрдЧ рдореЗрдВ рдЖрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
2016-07-29 13:13:58.745094 I | http: TLS handshake error from 10.10.0.60:33214: tls: failed to verify client's certificate: x509: certificate specifies an incompatible key usage
рдбреЙрдХрд░ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рдЬрдм рдЭреБрдВрдб рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╕рднреА рдиреЛрдбреНрд╕ рд▓рдВрдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЭреБрдВрдб рдорд╛рд╕реНрдЯрд░ рд▓реЙрдЧ рдореЗрдВ:
time="2016-07-29T13:22:58Z" level=debug msg="Failed to validate pending node: The server probably has client authentication (--tlsverify) enabled. Please check your TLS client certification settings: Get https://10.10.0.60:2376/info: remote error: bad certificate" Addr="10.10.0.60:2376"