Machine: рдкреБрдирд░реНрдЬрдиреНрдо-рд╕рд░реНрдЯ рдЭреБрдВрдб-рдорд╛рд╕реНрдЯрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рджрд┐рд╕ре░ 2015  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: docker/machine

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

  • docker-machine create -d amazonec2 --swarm --swarm-master (рдЖрджрд┐)
  • рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдПрдХрд▓ рдиреЛрдб рдЭреБрдВрдб-рдорд╛рд╕реНрдЯрд░ + рдЭреБрдВрдб рдиреЛрдб)
  • рдЕрдореЗрдЬрд╝реЕрди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдЖрдИрдкреА рдмрджрд▓реЗрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЛрдЪрджрд╛рд░ рдЖрдИрдкреА рд╕реЗрдЯ рдХрд░реЗрдВ)
  • рдбреЙрдХрд░-рдорд╢реАрди рдЖрдИрдкреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, _magic_ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ
  • docker-machine env рдирдП рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдЯреАрдПрд▓рдПрд╕ рдкреНрд░рдорд╛рдгрд┐рдд рдЖрдИрдкреА рдмреЗрдореЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдЧрд╛
  • docker-machine regenerate-certs рдбреЙрдХрдЯрд░-рдорд╢реАрди рдПрдирд╡реА рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
  • docker-machine env --swarm рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА docker рдпрд╛ docker-compose рдХрдорд╛рдВрдб рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреНрд▓реА рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ, рдмрд╕ рдХреБрдЫ рднреА рдирд╣реАрдВред --swarm IP рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ docker рдЫрд╡рд┐рдпрд╛рдВ рдЙрдЪрд┐рдд рдЫрд╡рд┐ рд╕реВрдЪреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреА, рд▓реЗрдХрд┐рди --swarm IP рдХреЗ рд╕рд╛рде рдпрд╣ рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдЧреА рдФрд░ рдХреЛрдИ рдЪрд┐рддреНрд░ рдирд╣реАрдВред

рдХреНрдпрд╛ regenerate-certs рдХреЛ рдореМрдЬреВрджрд╛ рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬрдм рдЖрдк рдЭреБрдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрд░ рд╕реБрдирддрд╛ рд╣реИред 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" 
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

duynguyenvan picture duynguyenvan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

moander picture moander  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Mayur-Sapre2 picture Mayur-Sapre2  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pschultz picture pschultz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

diver-sity picture diver-sity  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ