Moby: рдбреЛрдХрд░ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЕрдЧре░ 2016  ┬╖  324рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moby/moby

docker version рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ:

Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 22:00:36 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 22:00:36 2016
 OS/Arch:      linux/amd64

docker info рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ:

Containers: 155
 Running: 65
 Paused: 0
 Stopped: 90
Images: 57
Server Version: 1.12.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 868
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host overlay null bridge
Swarm: active
 NodeID: 0ddz27v59pwh2g5rr1k32d9bv
 Is Manager: true
 ClusterID: 32c5sn0lgxoq9gsl1er0aucsr
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot interval: 10000
  Heartbeat tick: 1
  Election tick: 3
 Dispatcher:
  Heartbeat period: 5 seconds
 CA configuration:
  Expiry duration: 3 months
 Node Address: 172.31.24.209
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.13.0-92-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.42 GiB
Name: ip-172-31-24-209
ID: 4LDN:RTAI:5KG5:KHR2:RD4D:MV5P:DEXQ:G5RE:AZBQ:OPQJ:N4DK:WCQQ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: panj
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 127.0.0.0/8

рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реНрдпрд╛рд╡рд░рдг рд╡рд┐рд╡рд░рдг (рдПрдбрдмреНрд▓реНрдпреВрдПрд╕, рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕, рднреМрддрд┐рдХ, рдЖрджрд┐):

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:

  1. рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдПрдБ рдЬреЛ рдкреЛрд░реНрдЯ 80 . рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреА рд╣реИ
docker service create \
--name debugging-simple-server \
--publish 80:3000 \
panj/debugging-simple-server
  1. http://<public-ip>/ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ:
рди рддреЛ ip рдФрд░ рди рд╣реА header.x-forwarded-for рд╕рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ IP рдкрддрд╛ рд╣реИред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ:
ip рдпрд╛ header.x-forwarded-for рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ IP рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ docker run -d -p 80:3000 panj/debugging-simple-server рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛрдиреЛрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
http://swarm.issue-25526.docker.takemetour.com :81/
http://container.issue-25526.docker.takemetour.com :82/

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдЬрд┐рд╕реЗ рдЖрдк рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХрднреА-рдХрднрд╛рд░ рд╣реА рд╣реЛрддреА рд╣реИ):
рдпрд╣ global рдореЛрдб рдФрд░ replicated рдореЛрдб рджреЛрдиреЛрдВ рдкрд░ рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВрдиреЗ рдХреБрдЫ рднреА рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдмреАрдЪ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЭреБрдВрдб рдореЛрдб рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рд╛рд░реНрдо рдореЛрдб рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рджреЗрддрд╛ рд╣реИ (рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд╛рдкреНрддрд┐ рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдкрд░ рднреА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП), рдЬреЛ рдЭреБрдВрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝ рджреЗрддреА рд╣реИ рд╕реНрд╡-рдЙрдкрдЪрд╛рд░ рдФрд░ рдЖрд░реНрдХреЗрд╕реНрдЯреНрд░рд╛ рдХреЗ рд▓рд┐рдП рдореЛрдбред

arenetworking areswarm kinenhancement statuneeds-attention versio1.12

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рднреА рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ (рд╡рд┐рднрд┐рдиреНрди рдореЗрдЬрдмрд╛рдиреЛрдВ рд╕реЗ syslog рд╕рдВрджреЗрд╢ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рд▓реЙрдЧрд╕реНрдЯреИрд╢ "рд╣реЛрд╕реНрдЯ" рдлрд╝реАрд▓реНрдб рд╣рдореЗрд╢рд╛ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рд╣реЛрд╕реНрдЯ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдХреЗ рдмрдЬрд╛рдп 10.255.0.x рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рдХрд┐ рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдХрд┐рд╕ рд╣реЛрд╕реНрдЯ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ?

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

/ cc @aluzzardi @mrjana рдиреЗ рдкреВрдЫрд╛

@PanJ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ-рд╕рд░рд▓-рд╕рд░реНрд╡рд░ ip рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдПрдХ рд╕реЗрд╡рд╛ рдХреЛ рдХрдИ рдореЗрдЬрдмрд╛рдиреЛрдВ (рдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЛрдб) рдореЗрдВ 1 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рд╣реИ?

@mavenugo рдпрд╣ koa рдХреА рдЕрдиреБрд░реЛрдз рд╡рд╕реНрддреБ рд╣реИ рдЬреЛ net рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдиреЛрдб рдХреЗ remoteAddress рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рджреВрд░рд╕реНрде рдкрддреЗ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрдореНрдореАрдж рдпрд╣ рд╣реИ рдХрд┐ ip рдлрд╝реАрд▓реНрдб рд╣рдореЗрд╢рд╛ рджреВрд░рд╕реНрде рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЪрд╛рд╣реЗ рдХреЛрдИ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛред

@PanJ рдЖрдк рдЕрднреА рднреА рдЕрдкрдиреЗ рдХрд╛рдордХрд╛рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдХреБрдЫ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди

@PanJ рдЬрдм рдореИрдВ рдЖрдкрдХрд╛ рдРрдк рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ ..

docker run -it --rm -p 80:3000 --name test panj/debugging-simple-server

рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╣реЛрд╕реНрдЯ рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рддрдХ рдкрд╣реБрдВрдЪреЗрдВ рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ

vagrant@net-1:~$ curl 192.168.33.12
{"method":"GET","url":"/","header":{"user-agent":"curl/7.38.0","host":"192.168.33.12","accept":"*/*"},"ip":"::ffff:192.168.33.11","ips":[]}
vagrant@net-1:~$

192.168.33.11 рд╣реЛрд╕реНрдЯ рдХрд╛ рдЖрдИрдкреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдХрд░реНрд▓ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ?

@sanimej рд╣рд╛рдВ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬреЛ рдЭреБрдВрдб рдореЛрдб рдкрд░ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@marech рдореИрдВ рдЕрднреА рднреА рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 2 nginx рдЗрдВрдЯреЗрдВрд╕, рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдФрд░ рдЭреБрдВрдб рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред SSL рдЯрд░реНрдорд┐рдиреЗрд╢рди рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди nginx рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЭреБрдВрдб рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрд░реЛрдз рд╣реЛрд╕реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

@PanJ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдЕрд▓рдЧ рд╣реИред рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдиреЛрдб рд╕реЗ рд╕реЗрд╡рд╛ рддрдХ рдкрд╣реБрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо ingress рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдЯ рдХрд░рддреЗ рд╣реИрдВред 10.255.0.x рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдкрд░ ingress рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдкрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

@sanimej рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рд╛ рддреЛ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛) рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИред

рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдорд┐рдд рдЬреНрдЮрд╛рди рд╣реИ рдХрд┐ рдлрд┐рдХреНрд╕ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬреЛ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ?

Rancher рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИред

@sanimej рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рднреА рдЖрдИрдкреА рдХреЛ рдПрдХреНрд╕-

@PanJ рд╣рдореНрдо, рдФрд░ рдЖрдкрдХрд╛ рдирд┐рдЧреНрдиреЗрдХреНрд╕ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрдВрдЯреЗрдирд░ рд╕реЗрд╡рд╛ рдирд╛рдо рдпрд╛ рдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЭреБрдВрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреИрд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк nginx config рднрд╛рдЧ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХреЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЗрд╕реЗ рдЭреБрдВрдб рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

@marech рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрдВрдЯреЗрдирд░ 80 рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ localhost:8181 рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддрд╛ рд╣реИ

server {
  listen 80 default_server;
  location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass          http://localhost:8181;
    proxy_read_timeout  90;
  }
}

рдпрджрд┐ рдЖрдкрдХреЛ рдПрд╕рдПрд╕рдПрд▓ рдЯрд░реНрдорд┐рдиреЗрд╢рди рдХрд░рдирд╛ рд╣реИ, рддреЛ рдПрдХ рдФрд░ рд╕рд░реНрд╡рд░ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдкреЛрд░реНрдЯ 443 рдХреЛ рд╕реБрдирддрд╛ рд╣реИ, рдлрд┐рд░ рдПрд╕рдПрд╕рдПрд▓ рдЯрд░реНрдорд┐рдиреЗрд╢рди рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ localhost:8181 рдкрд░ рднреА рдХрд░реЗрдВ

рдЭреБрдВрдб рдореЛрдб рдХрд╛ nginx 8181:80 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдз рд╣реЛрд╕реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдХрд░рддрд╛ рд╣реИред

server {
  listen 80;
  server_name your.domain.com;
  location / {
    proxy_pass          http://your-service:80;
    proxy_set_header Host $host;
    proxy_read_timeout  90;
  }
}

server {
  listen 80;
  server_name another.domain.com;
  location / {
    proxy_pass          http://another-service:80;
    proxy_set_header Host $host;
    proxy_read_timeout  90;
  }
}

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реА рдПрдкреАрдЖрдИ рджрд░ рд╕реАрдорд╛ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рдХреНрдпрд╛ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рднреА рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ (рд╡рд┐рднрд┐рдиреНрди рдореЗрдЬрдмрд╛рдиреЛрдВ рд╕реЗ syslog рд╕рдВрджреЗрд╢ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рд▓реЙрдЧрд╕реНрдЯреИрд╢ "рд╣реЛрд╕реНрдЯ" рдлрд╝реАрд▓реНрдб рд╣рдореЗрд╢рд╛ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рд╣реЛрд╕реНрдЯ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдХреЗ рдмрдЬрд╛рдп 10.255.0.x рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рдХрд┐ рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдХрд┐рд╕ рд╣реЛрд╕реНрдЯ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ?

+1 рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдПред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╣рдореЗрдВ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЬреИрд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред

рд╢рд╛рдпрдж рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдЖрдИрдкреАрд╡реАрдПрд╕ рдХреНрд╖рдорддрд╛рдПрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдХрд╛рдо рдХреА рд╣реЛрдВрдЧреАред рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдИрдкреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдкреНрд░реЙрдХреНрд╕реА рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рдЖрдИрдкреАрд╡реАрдПрд╕ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдХрд░реНрдиреЗрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рд╢реЗрд╖ рд░рд╛рд╢рд┐ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдФрд░ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдИрдкреАрд╡реАрдПрд╕ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдбрд╝рдХ рдХреЗ рдиреАрдЪреЗ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯ рд░реВрдЯрд┐рдВрдЧред

рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдИрдкреА рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕ рддрд░рд╣, рдЬрдм рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреБрдЫ рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрд▓рд░реНрдЯ рднреЗрдЬрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рднрд╛рд╡рд┐рдд рд╕рд░реНрд╡рд░ рдХреНрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

@vfarcic рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЕрдм рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЙрд╕рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рд╕рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдПрдХ рд╣реА рдЖрдИрдкреА рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕рдХрд╛ рд╡рд╛рдкрд╕ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░реЙрдХреНрд╕реА/рдиреЗрдЯ рдЬреЛ рдХреБрдЫ рднреА рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк, рд╕реНрд░реЛрдд рдЖрдИрдкреА рдФрд░ рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рд▓реЙрдЧ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрд╛рдпрд╛ред

рдореИрдВ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рд╕реНрд╡рд╛рд░реНрдо рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдирд┐рд░реНрдпрд╛рддрдХреЛрдВ рдХреЛ рд╕реНрдХреНрд░реИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИредрд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рддреЛ, рдпрд╣ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреГрддрд┐ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ (рдХреЛрдИ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдирд╣реАрдВ)ред рдореБрдЭреЗ рдЬреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдиреЛрдб рдХреЗ рдЖрдИрдкреА рдХреЛ рд╕рдордЭрдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЖрдИрдкреА рдЖрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдмрд╕ "рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рд░реАрдХреНрд╖рдг" рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ"рдПрдХ рдиреЛрдб рдХреЗ рдХрдВрдЯреЗрдирд░ рдФрд░ IPv4 рдкрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдХреНрд▓рд╕реНрдЯрд░-рд╡рд╛рдЗрдб рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ?

рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

       "Containers": {
            "57bc4f3d826d4955deb32c3b71550473e55139a86bef7d5e584786a3a5fa6f37": {
                "Name": "cadvisor.0.8d1s6qb63xdir22xyhrcjhgsa",
                "EndpointID": "084a032fcd404ae1b51f33f07ffb2df9c1f9ec18276d2f414c2b453fc8e85576",
                "MacAddress": "02:42:0a:00:00:1e",
                "IPv4Address": "10.0.0.30/24",
                "IPv6Address": "",
                "Node": "swarm-4"
            },
...

"рдиреЛрдб" рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдзреНрдпрд╛рди рджреЗрдВред

рдпрджрд┐ рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдиреЛрдб рдХреЗ рд╕рд╛рде --filter рддрд░реНрдХ рдХреЗ рд╕рд╛рде, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдВрдЯреЗрдирд░ IPv4 рдкрддреЗ рдФрд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рд╣реЛрдЧрд╛ рдиреЛрдб. рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХреБрдЫ рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдЕрднреА, рдЬрдм рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреЛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ "рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рд░реАрдХреНрд╖рдг" рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдореБрдЭреЗ рдкрддреЗ рдХрд╛ рд╕реНрдерд╛рди рдирд╣реАрдВ рдорд┐рд▓ рдЬрд╛рддрд╛ред

рдореИрдВ @dack рд╕реЗ рд╕рд╣рдордд рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣рдореЗрдВ

рд╕рдорд╛рдзрд╛рди рдХреЛ рдЖрдИрдкреА рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рднреА рд╕реЗрд╡рд╛ рдЬреЛ HTTP рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдЕрднреА рднреА рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХреЗ (http рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ ...)

рдФрд░ рдореИрдВ рдЗрд╕ рдкрд░ рдЬреЛрд░ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдРрд╕реА рдХрдИ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░ HaProxy рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ: http://blog.haproxy.com/2012/06/05/preserve-source-ip-address-despite-reverse-proxies/

рдбреЙрдХрд░рдХреЙрди рдореЗрдВ рдЖрдИрдкреАрд╡реАрдПрд╕ рдкрд░ рдЕрдкрдиреА рдмрд╛рдд рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП @kobolog рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдмрд╕ рдЦреБрдж рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВ syslog рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рд╡реЗ рд╕рднреА рд╣реЛрд╕реНрдЯ рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ 10.255.0.4 рдкрд░ рд╕реЗрдЯ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЧреИрд░-рдХрдВрдЯреЗрдирд░реАрдХреГрдд рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рд╣реИред

@mrjana рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

IPVS рдПрдХ рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВ рд╣реИ рдЬреЛ HTTP рд▓реЗрдпрд░ рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ HAProxy рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реИред рдпрджрд┐ рдЖрдк HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ HAProxy рдбрд╛рд▓рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╕рднреА рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдг рдФрд░ HAProxy рд╣реИрдВред рдЗрд╕ рддрд░рд╣ HAProxy HTTP header.x-forwarded-for рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдпрджрд┐ L7 рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рд╣реИ рддреЛ рдЖрдк Host PublishMode рдирд╛рдордХ рдПрдХ рдирдИ PublishMode рд▓рд┐рдП рдЖрдЧрд╛рдореА (1.13) рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрдВрджрд░рдЧрд╛рд╣ рдореЗрдВ рдФрд░ рдЖрдк рдЕрдкрдиреЗ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдЙрд╕ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@mrjana рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рдЪрд╛рд░ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдХрд░рддрд╛ рд╣реИ) рдХреЗ рдмрдЬрд╛рдп рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдб-рдлреЙрд░ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХреБрдЫ HTTP рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рд╕рднреА рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХрд╛рдо рдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдЯреВрдЯ рдЧрдП рд╣реИрдВред

@dack рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ Docker

рдпрджрд┐ рдЖрдк HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ HAProxy рдбрд╛рд▓рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╕рднреА рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдг рдФрд░ HAProxy рд╣реИрдВред рдЗрд╕ рддрд░рд╣ HAProxy HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИредx-forwarded-for

рдпрд╣ рдпрд╛ рддреЛ @mrjana рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HAProxy рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдбреЙрдХ рд░рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рд╕реАрдзреЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдЗрдирдЧреНрд░реЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдк рдЕрдкрдиреА рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣реИрдВ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдЖрдк рдбреЙрдХрд░ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЭреБрдВрдб рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдпрджрд┐ docker ingress рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓реЗрдЦрдХ рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдпрдж рдХреБрдЫ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реЛрдЧреА рдХрд┐ рдХреИрд╕реЗ IPVS рдХреЛ рд╣реБрдб рдХреЗ рддрд╣рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ / рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (IPVS рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ) рдФрд░ рд╣рдо рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕рдорд╕реНрдпрд╛ред

@tlvenn рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХрд╣рд╛рдВ рд╣реИ? рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреА рдЧрдИ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ:

  • рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкреВрд░рд╛ рдХрд╛рд░рдг)ред рдЖрдИрдкреАрд╡реАрдПрд╕ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред NAT рдореЛрдб рдореЗрдВ рднреА, рдпрд╣ рдХреЗрд╡рд▓ рдЧрдВрддрд╡реНрдп рдкрддреЗ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред IPVS рд╣реЛрд╕реНрдЯ рдХреЛ рд░рд┐рдЯрд░реНрди рдкреИрдХреЗрдЯ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдЯ рдпрд╛ рдкреЙрд▓рд┐рд╕реА рд░реВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
  • рдЬрдм рдПрдХ рдкреЛрд░реНрдЯ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЭреБрдВрдб рдореЗрдВ рд╕рднреА рдбреЙрдХрд░реНрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддреЗ рд╣реИрдВред рдпрджрд┐ IPVS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд░реНрдиреЗрд▓ рд╕реНрдерд╛рди рдореЗрдВ рд╣реЛрдЧрд╛ рдФрд░ dockerd рдкреЛрд░реНрдЯ рдкрд░ рдирд╣реАрдВ рд╕реБрди рд░рд╣рд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдп @ рдбреИрдХ ,

рдЙрдирдХреЗ рдмреНрд▓реЙрдЧ рд╕реЗ:

рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдпрд╣ рдХрд╛рдо Linux IPVS, рдПрдХ рдЗрди-рдХрд░реНрдиреЗрд▓ рд▓реЗрдпрд░ 4 рдорд▓реНрдЯреА-рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ Linux рдХрд░реНрдиреЗрд▓ рдореЗрдВ 15 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╣реИред рдХрд░реНрдиреЗрд▓ рдХреЗ рдЕрдВрджрд░ рдЖрдИрдкреАрд╡реАрдПрд╕ рд░реВрдЯрд┐рдВрдЧ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде, рдЭреБрдВрдб рдХреА рд░реВрдЯрд┐рдВрдЧ рдЬрд╛рд▓ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХрдВрдЯреЗрдирд░-рдЬрд╛рдЧрд░реВрдХ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ рддреЛ рдХреЛрдб рд╕реНрд░реЛрдд рд╕реНрд╡рд╛рд░реНрдордХрд┐рдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ @stevvooe рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдореБрдЭреЗ рдЗрд╕рдХреА рдереЛрдбрд╝реА рдмреЗрд╣рддрд░ рд╕рдордЭ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд▓реЙрдЧ рдореЗрдВ рдмрддрд╛рдП рдЧрдП рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред SNAT рдПрдХ iptables рдирд┐рдпрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ service_linux.go рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭреВрдВ, рддреЛ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХрд╛ рддрд░реНрдХ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдиреЛрдб рдП рдХреЛ рдиреЛрдб рдмреА рдкрд░ рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ):

  • рдЭреБрдВрдб рдиреЛрдб рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред IPVS/iptables рдЕрдиреБрд╡рд╛рдж (src ip) ->(рдиреЛрдб a ip) рдФрд░ (dst ip) ->(рдиреЛрдб B ip)
  • рдкреИрдХреЗрдЯ рдХреЛ рдиреЛрдб B . рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рдиреЛрдб рдмреА рдиреЛрдб рдП рдХреЛ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рднреЗрдЬрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ src ip рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИ)
  • рдиреЛрдб рдП src рдФрд░ dst рдХреЛ рдореВрд▓ рдорд╛рдиреЛрдВ рдореЗрдВ рд╡рд╛рдкрд╕ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЙрддреНрддрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд╕рдПрдирдПрдЯреА рдХреЗ рдкреАрдЫреЗ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рдЙрд╕реА рдиреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдореВрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛ рдерд╛ (рдЬрд╣рд╛рдВ рдПрдирдПрдЯреА/рдЖрдИрдкреАрд╡реАрдПрд╕ рд░рд╛рдЬреНрдп рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ)ред рдЪреВрдВрдХрд┐ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕реА рднреА рдиреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖ рд╕рдХрддрд╛ рд╣реИ, рдПрд╕рдПрдирдПрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реЗрд╡рд╛ рдиреЛрдб рдХреЛ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ рдХрд┐ рдХрд┐рд╕ рдиреЛрдб рд╕реЗ рдЕрдиреБрд░реЛрдз рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИред рд╕рд┐рдВрдЧрд▓ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдиреЛрдб рд╡рд╛рд▓реЗ IPVS рд╕реЗрдЯрдЕрдк рдореЗрдВ, рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рддреЛ, рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рдПрдирдПрдЯреА рд╕реЗ рдХреИрд╕реЗ рдмрдЪреЗрдВ, рдЬрдмрдХрд┐ рдЕрднреА рднреА рд╕рднреА рдиреЛрдбреНрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рдиреЛрдб рдкрд░ рдПрдХ рд░рд╛рдЬреНрдп рддрд╛рд▓рд┐рдХрд╛ рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛ рддрд╛рдХрд┐ рд╡рд╣ рдПрд╕рдПрдирдПрдЯреА рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ рдЙрддреНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗред рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдорджрдж рдХрд░ рд╕рдХреЗ (VXLAN?) рдпрд╛, рдЖрдИрдкреАрд╡реАрдПрд╕ рдХреА рд╕реАрдзреА рд░реВрдЯрд┐рдВрдЧ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реЗрд╡рд╛ рдиреЛрдб рдХреЛ рд╕реАрдзреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдореВрд▓ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рдХреЗ рдмрдЬрд╛рдп) рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирдП рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реЛрдЧрд╛ рдХрд┐ рд╕реЗрд╡рд╛ рд╕реЗ рдХреЗрд╡рд▓ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЛрдб рдЖрдИрдкреА (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ)ред

рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдЦреЛрдЬ @dack !

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЙрд╕ рдПрд╕рдПрдирдПрдЯреА рдХреЛ рдПрдХ рд╕рд╛рде рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕ рдмреАрдЪ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛ рдЬреЛ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рдЬреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП PublishMode рд╕рд╛рде рдПрдХ рд╣реЛрд╕реНрдЯ-рд╕реНрддрд░реАрдп рдкреЛрд░реНрдЯ рдкреНрд░рдХрд╛рд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддрд╛ рд╣реИред

https://github.com/docker/swarmkit/pull/1645

рдЕрд░реЗ, рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рд╣рдо рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреЗ рдмрд╛рдж рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕ рдмреАрдЪ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА:

@tlvenn : @mrjana рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдкреАрдЫреЗ рдореБрдЦреНрдп рд▓реЗрдЦрдХ рд╣реИред рд╕реНрд░реЛрдд рдЬреНрдпрд╛рджрд╛рддрд░ docker/libnetwork рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдХреБрдЫ SwarmKit рдореЗрдВ

@dack : рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ IPVS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ

@tlvenn рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдбреЙрдХрд░ рдЭреБрдВрдб рдорд╛рд╕реНрдХрд░реЗрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рднреА рдЫрд┐рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ [рдкреБрдирдГ: @dack], рдЬреЛ рдЖрд╕рд╛рди рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ IPIP рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдкреИрдХреЗрдЯ рдкреНрд░рд╡рд╛рд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

  • рдЧреЗрдЯрд╡реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреИрдХреЗрдЯ рдЖрддрд╛ рд╣реИ - рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЭреБрдВрдб рдХреЗ рдХрд┐рд╕реА рднреА рдиреЛрдб - рдФрд░ рдЙрд╕ рдиреЛрдб рдкрд░ рдЖрдИрдкреАрд╡реАрдПрд╕ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рдЧрдВрддрд╡реНрдп рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЯ рд╣реИред
  • рдкреИрдХреЗрдЯ рдХреЛ рджреВрд╕рд░реЗ рдЖрдИрдкреА рдкреИрдХреЗрдЯ рдореЗрдВ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рд╕рдВрд▓рдЧреНрди рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдбреАрдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рд╕реНрд░реЛрдд рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд┐рд╕ рдЖрдИрдкреА рдХреЛ рдЧрдВрддрд╡реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИред рд╕рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реЗрд╡рд╛ рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдПрдХ рдЧреИрд░-рдПрдЖрд░рдкреАрдПрдмрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЙрдкрдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдорд╛рди рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рдкреИрдХреЗрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рд╣реИред
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реАрдзреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╡рд░реНрдЪреБрдЕрд▓ рд╕реЗрд╡рд╛ рдЖрдИрдкреА рд╣реЛрдЧрд╛ , рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдХреЛрдИ рдордВрдЧрд▓ рдЧреНрд░рд╣ рдХрд╛ рдЬрд╡рд╛рдм рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдмреЗрд╢рдХ, рдХрдИ рдЪреЗрддрд╛рд╡рдиреА рдФрд░ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдИрдкреАрдЖрдИрдкреА рдореЛрдб рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд▓реНрдж рд╣реА рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдИрдкреА-рдирд┐рд░реНрдзрд╛рд░рдг рдФрд░ рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рдВрдЪреЛрдВ рдХреЛ рд╕рд╣реА рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рджреЗрдЦ рд░рд╣реЗред рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рдж рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдЖрдИрдкреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред

@aluzzardi рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдЯрдХреНрдХрд░, рд╣рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдкреНрд░рд╡рд╛рд╣ рдХреА рдЬрд╛рдВрдЪ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдиреЛрдб рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреЛрдб рдмреА рд╕рд░реНрд╡рд┐рд╕ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ):

  • рдиреЛрдб A рдкреИрдХреЗрдЯ рдХреЛ ingress_sbox рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕ (/var/run/docker/netns/ingress_sbox) рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DNAT рдХрд░рддрд╛ рд╣реИред
  • рдиреЛрдб рдП рдкрд░ ingress_sbox рдПрдирдПрдЯреА рдореЛрдб рдореЗрдВ рдЖрдИрдкреАрд╡реАрдПрд╕ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рдбреАрдПрдирдПрдЯреА рдХреЛ рдиреЛрдб рдмреА рдкрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреИрдХреЗрдЯ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ (рдЗрдирдЧреНрд░реЗрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдФрд░ рдПрд╕рдПрдирдПрдЯреА рдХреЛ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдиреЛрдб рдП рдЗрдирдЧреНрд░реЗрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдИрдкреА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░рддрд╛ рд╣реИред
  • рдкреИрдХреЗрдЯ рдХреЛ рдУрд╡рд░рд▓реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рд╡рд╛рдкрд╕реА рдкреИрдХреЗрдЯ рд░рд┐рд╡рд░реНрд╕ рдореЗрдВ рдЙрд╕реА рдкрде рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ, рд╕реНрд░реЛрдд/рдЧрдВрддрд╡реНрдп рдкрддреЗ рдХреЛ рдореВрд▓ рдорд╛рдиреЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд╕рдПрдирдПрдЯреА рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдиреЛрдб A рдмрд┐рдирд╛ рдХрд┐рд╕реА NAT (iptables/рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ?)
  • рдиреЛрдб A ingress_sbox рд╕реАрдзреЗ рд░реВрдЯрд┐рдВрдЧ рдореЛрдб рдореЗрдВ IPVS рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрдирдЧреНрд░реЗрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЛрдб B рдХреЛ рдкреИрдХреЗрдЯ рднреЗрдЬрддрд╛ рд╣реИ
  • рдиреЛрдб рдмреА рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ (рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд▓рд┐рдП рдПрдЖрд░рдкреА рдирд╣реАрдВ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдЖрдИрдкреАрд╡реАрдПрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ)ред
  • рд░рд┐рдЯрд░реНрди рдкреИрдХреЗрдЯ рд╕реАрдзреЗ рдиреЛрдб рдмреА рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ (рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдпрд╛ рдиреЛрдб рдП рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рднреА NAT рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

@aluzzardi @mrjana рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рджреЗрдВ? рдбреЙрдХрд░ рд╕реЗ рдереЛрдбрд╝реА рд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рджреЗрдЦ рд░рд╣реЗред рд╕реНрд░реЛрдд рдЖрдИрдкреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛, рд╣рдорд╛рд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реЗрд╡рд╛рдПрдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ

рдпрд╣ рдХреИрд╕реЗ рд╣реБрдЖ ?
unassign_bug

@tlvenn рдЬреАрдердм рдореЗрдВ рдПрдХ рдмрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ?

@PanJ @tlvenn @vfarcic @dack рдФрд░ рдЕрдиреНрдп, PTAL #27917ред рд╣рдордиреЗ рд╕реЗрд╡рд╛ рдкреНрд░рдХрд╛рд╢рди рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджрд┐рдпрд╛ = host рдЬреЛ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП IPVS рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ docker run -p рдЬреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдФрд░ рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд-рдЖрдИрдкреА рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдЧрд╛ рдЬреЛ рдЬрд░реВрд░рдд рд╣реИред

рдХреГрдкрдпрд╛ 1.13.0-рдЖрд░рд╕реА2 рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВред

рд╣рд╛рдВ рдмрд╣реБрдд рдЕрдЬреАрдм @mavenugo ..

рдкреНрд░рдХрд╛рд╢рди рдореЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдКрдкрд░ рдЭреБрдВрдб рдХрд┐рдЯ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдерд╛, рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ 1.13 рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдЖрдПрдЧрд╛ред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬреЛ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЕрднреА рдбреЙрдХрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЧрдВрднреАрд░ рд╕реАрдорд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ @kobolog рдФрд░ @dack рджреЛрдиреЛрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд░рд╛рдЧ рд▓реЗрдХрд░ рдЖрдП рд╣реИрдВ рдФрд░ рдбреЙрдХрд░ рдХреА рдУрд░ рд╕реЗ рдЙрди рдкрд░ рдХреЛрдИ рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рдЧрднрдЧ 2 рд╕рдкреНрддрд╛рд╣ рд╣реЛ рдЧрдП рд╣реИрдВред

рдХреНрдпрд╛ рд╣рдо рдХреГрдкрдпрд╛ рдХреБрдЫ рджреГрд╢реНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбреЙрдХрд░ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреМрди рджреЗрдЦ рд░рд╣рд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдерд┐рддрд┐ рдЕрджреНрдпрддрди? рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред

#реиренрепрезрен рдХреЗ рдЕрд▓рд╛рд╡рд╛ рез.резрей рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджреВрд╕рд░рд╛ рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖-рд╡рд╛рдкрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдмрдЧ-рдлрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЗрд╕реЗ 1.14 рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдпрд╣ рднреА рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рдПрд▓рдмреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рдЖрд░рдЖрд░ рдмрдирд╛рдо 10 рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдВ), рдбреЗрдЯрд╛-рдкрде (рдПрд▓рд╡реАрдПрд╕-рдбреАрдЖрд░, рдПрд▓рд╡реАрдПрд╕-рдПрдирдПрдЯреА рдФрд░ рдПрд▓рд╡реАрдПрд╕-рдЯреНрдпреВрди) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдкреАрдЖрд░ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рдлреА рд╣рдж рддрдХ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @mavenugo рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдм рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рдХрдо рд╕реЗ рдХрдо, рдХреНрдпрд╛ рд╣рдо 1.13 рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдП рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рдХрд╛рд╢рди рдореЛрдб рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╕рдВрдХреЗрдд рджреЗрдВ ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рди рд╣реЛрдВред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдФрд░ рд╣рд╛рдБ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрджреНрдпрддрди рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд mode=host рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдРрд╕реЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ LVS-NAT рдореЛрдб рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдмрд╕ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪреАрдЬрд╝ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рдирдпрд╛ рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ? рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рднреА рдПрдХ рдмрдбрд╝реА рд╕реАрдорд╛ рд╣реИ

рдХреНрдпрд╛ рдбреЙрдХрд░ 1.14 рдХреЗ рд░реЛрдбрдореИрдк рдкрд░ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдбреЙрдХрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред

http/https рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдПрдХ рдХрд╕реНрдЯрдо рд╣реЗрдбрд░ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ-рдЖрдИрдкреА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛? рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдЬрдм X_Forwarded_for рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдмрд╕ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝реАрд▓реНрдб рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рдЭреБрдВрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред

http/https рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдПрдХ рдХрд╕реНрдЯрдо рд╣реЗрдбрд░ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ-рдЖрдИрдкреА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛? рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдЬрдм X_Forwarded_for рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдмрд╕ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝реАрд▓реНрдб рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рдЭреБрдВрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред

рднрд╛рд░ рд╕рдВрддреБрд▓рди L3/4 рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред http рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдПрдХ рд╕реБрдзрд╛рд░ рдореЗрдВ рд╕реНрд░реЛрдд рдкрддреЗ рдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЛ рд╣рдЯрд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред

@mavenugo рдореИрдВрдиреЗ рдЖрдЬ рдбреЙрдХрд░ 1.13 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реА рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдкрд░ mode=host рдХрд┐рдпрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдХреА рдЙрдореНрдореАрдж рд╣реИ :) рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдбрдмрд▓ рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ...
рдореИрдВ рдЙрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдлрд╝рд╛рдЗрд▓ (yml v3) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдм рдореИрдВ docker service create рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ --publish mode=host,target=80,published=80 рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛?

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА

...
services:
  proxy:
    image: vfarcic/docker-flow-proxy:1.166
    ports:
      - "80:80/host"
      - "443:443/host" 
...

рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (https://docs.docker.com/docker-cloud/apps/stack-yaml-reference/#/ports рдХреЗ рд╕рдорд╛рди рдкреИрдЯрд░реНрди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛)

рдореИрдВ рдЙрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдлрд╝рд╛рдЗрд▓ (yml v3) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдм рдореИрдВ --publish рдореЛрдб = рд╣реЛрд╕реНрдЯ, рд▓рдХреНрд╖реНрдп = 80, рдкреНрд░рдХрд╛рд╢рд┐рдд = 80 docker service create рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛?

@hamburml - https://github.com/docker/docker/issues/30447 рдкрд░ рдирдЬрд╝рд░ рд░рдЦреЗрдВ, рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛/рд╕реБрд╡рд┐рдзрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ mode=host рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЭреБрдВрдб рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд╕реЗрд╡рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рднреА рд╕реБрдирдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдХреЗрд╡рд▓ рд╣реЛрд╕реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ ...

@ tkeeler33 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рдХреЛ global рд╕реЗрд╡рд╛ (рдЬреЛ рдЭреБрдВрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИ) рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЗрд╕реЗ рдЭреБрдВрдб рдореЗрдВ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЭреБрдВрдб рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@thaJeztah - рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдУрд╡рд░рд▓реЗ/рдЭреБрдВрдб рдиреЗрдЯрд╡рд░реНрдХ рджреЛрдиреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ mode=host рд╣реЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЗрд╕ рд╕рдордп рдореЗрд░реА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕реАрдорд╛ рдпрд╣реА рд╣реИред

@ tkeeler33 рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ;

$ docker network create -d overlay swarm-net

$ docker service create \
  --name web \
  --publish mode=host,published=80,target=80 \
  --network swarm-net \
  --mode=global \
  nginx:alpine

$ docker service create --name something --network swarm-net nginx:alpine

рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ web рд╕реЗрд╡рд╛ рдЙрд╕реА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ something рд╕реЗрд╡рд╛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ;

docker exec -it web.xczrerg6yca1f8ruext0br2ow.kv8iqp0wdzj3bw7325j9lw8qe sh -c 'ping -c3 -w1 something'
PING something (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: seq=0 ttl=64 time=0.251 ms

--- something ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.251/0.251/0.251 ms

@thaJeztah - рдзрдиреНрдпрд╡рд╛рдж! рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдореИрдВрдиреЗ --opt encrypted рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдЬрдмрд╛рди рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХрджрдореЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ рдореИрдВ рдореВрд▓ рдХрд╛рд░рдг рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдВрддрд░рд┐рдо рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдмрд╕ рдХрд┐рд╕реА рднреА рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рднрд╛рд╡ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЕрдкрдирд╛ рд╕рд┐рд░ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдЬрд╛рдирдХрд╛рд░реА рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ!

@ tkeeler33 --opt encrypted рдХреЛ рд╣реЛрд╕реНрдЯ-рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрджреНрджреЗрд╢реНрдп рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ vxlan рд╕реБрд░рдВрдЧ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рд╣реИред рдбреЙрдХреНрд╕ рд╕реЗ: "рдпрджрд┐ рдЖрдк рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди (--рдСрдкреНрдЯ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб) тАЛтАЛрдХреЗ рд╕рд╛рде рдПрдХ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ 50 (рдИрдПрд╕рдкреА) рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдЕрдиреБрдорддрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред" рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдИрдПрд╕рдкреА рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?
рд╕рд╛рде рд╣реА, --opt encrypted рд╡рд┐рдХрд▓реНрдк рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛-рдкреНрд▓реЗрди рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╣реИред рд╕рднреА рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдЯреНрд░реИрдлрд┐рдХ (рд░реВрдЯрд┐рдВрдЧ рдПрдХреНрд╕рдЪреЗрдВрдЬ, рд╕рд░реНрд╡рд┐рд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди, рдЖрджрд┐ ...) рд╕рднреА рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛ рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИрдВред

@mavenugo рддреБрдо рд╕рд╣реА рд╣реЛред рдЬрдм рдореИрдВрдиреЗ --opt encrypted рд╕рд╛рде рдПрдХ рдирдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдпрд╛ рддреЛ рдЗрд╕рдиреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЬрдм рдореИрдВрдиреЗ рдирдП рдмрдирд╛рдП рдЧрдП рдиреЗрдЯрд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХреА рддреЛ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ "Internal": true рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдПрдХ рдЧрд▓рддреА рдереА... рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдПрдХ рд▓рдВрдмрд╛ рджрд┐рди рд░рд╣рд╛ рд╣реИ...

@dack @kobolog рдПрд▓рд╡реАрдПрд╕-рдЯрдирд▓ рдФрд░ рдПрд▓рд╡реАрдПрд╕-рдбреАрдЖрд░ рдореЛрдб рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреИрдирд╛рддреА рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ рдореЗрдВ рдЧрдВрддрд╡реНрдп рдЖрдИрдкреА рд╕реЗрд╡рд╛ рд╡реАрдЖрдИрдкреА рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдореЗрдВ рдЧреИрд░ рдПрдЖрд░рдкреА рдЖрдИрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░реВрдЯрд┐рдВрдЧ рдореЗрд╢ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕реА рднреА рдореЗрдЬрдмрд╛рди рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдХрд┐рд╕реА рднреА рдПрд▓рд╡реАрдПрд╕ рдореЛрдб рдореЗрдВ) рдЧрдВрддрд╡реНрдп рдЖрдИрдкреА рдХреЛ рд╕реНрдерд╛рдиреАрдп рдЖрдИрдкреА рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдмреИрдХрдПрдВрдб рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЙрддреНрддрд░ рдкреИрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕реНрд░реЛрдд рдкрддреЗ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╕реАрдзреЗ рд╡рд╛рдкрд╕реА рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЙрддреНрддрд░ рдкреИрдХреЗрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрд╕реНрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╛рдл рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛рддрд╛ рд╣реИред

@thaJeztah рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реИ рддреЛ рд╣реЛрд╕реНрдЯ рдореЙрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВред

@sanimej рдореИрдВ рдЕрднреА рднреА рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдПрдирдПрдЯреА рдХреЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдХреНрдпреЛрдВ рд╣реИред рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд LVS-DR рдкреНрд░рд╡рд╛рд╣? рдбреЙрдХрд░ рдЧреИрд░-рдПрдЖрд░рдкреА рд╡реАрдЖрдИрдкреА рдХреЛ рдЙрдкрдпреБрдХреНрдд рдиреЛрдбреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдПрд▓рд╡реАрдПрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ рдХреЛ рдиреЛрдбреНрд╕ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рд╕реАрдзреЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдкреИрдХреЗрдЯ рдХрд┐рд╕реА рднреА рд╣реЛрд╕реНрдЯ рд╕реЗ рдЯрдХрд░рд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рдХрдИ рдлреНрд░рдВрдЯрдПрдВрдб рдФрд░ рдХрдИ рдмреИрдХрдПрдВрдб рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдорд╛рдирдХ LVS рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

@thaJeztah рдХрд╛рдордХрд╛рдЬ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдХрдВрдкреЛрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг 3 рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдирдпрд╛ рдкреНрд░рдХрд╛рд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рд╕реЗрд╡рд╛ рдХреЛ рдкреИрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ( nginx_proxy рдХреЛ рд╕реЗрд╡рд╛ рдирд╛рдо рд╕реЗ рдмрджрд▓реЗрдВ)

docker service update nginx_proxy \
    --publish-rm 80 \
    --publish-add "mode=host,published=80,target=80" \
    --publish-rm 443 \
    --publish-add "mode=host,published=443,target=443"

@dack рдирд┐рдпрдорд┐рдд LVS-DR рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдЧрдВрддрд╡реНрдп IP рд╕реЗрд╡рд╛ VIP рд╣реЛрдЧрд╛ред рддреЛ рдПрд▓рдмреА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрдИрдкреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреИрдХреЗрдЯ рдХреЛ рдмреИрдХрдПрдВрдб рдкрд░ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рд░реВрдЯрд┐рдВрдЧ рдореЗрд╢ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ рдХрд╛ рдбреЗрд╕реНрдЯ рдЖрдИрдкреА рд╣реЛрд╕реНрдЯ рдХреЗ рдЖрдИрдкреА рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдЧрд╛ред

@sanimej рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдкреАрдЖрдИрдкреА рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛?

@tlvenn рдПрд▓рд╡реАрдПрд╕-рдЖрдИрдкреА рд╕реБрд░рдВрдЧ рдПрд▓рд╡реАрдПрд╕-рдбреАрдЖрд░ рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдмреИрдХрдПрдВрдб рдХреЛ рдореИрдХ-рд░реАрд░рд╛рдЗрдЯ рдХреЗ рдмрдЬрд╛рдп рдЖрдИрдкреА рд╕реБрд░рдВрдЧ рдореЗрдВ рдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрдХреЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИред рддреЛ рд░реВрдЯрд┐рдВрдЧ рдореЗрд╖ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ..
The real server receives the enclosing packet, decapsulates it and sees real client IP as source and virtual service IP as destination.

рдкреИрдХреЗрдЯ рдХрд╛ рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдЖрдИрдкреА рдЙрд╕ рд╣реЛрд╕реНрдЯ рдХрд╛ рдЖрдИрдкреА рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдкреИрдХреЗрдЯ рднреЗрдЬрд╛ рдерд╛ рди рдХрд┐ рд╡реАрдЖрдИрдкреАред рдпрджрд┐ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЕрд╕рд▓реА рд╕рд░реНрд╡рд░ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рд╣реЗрдбрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдпрджрд┐ рдЧрдВрддрд╡реНрдп IP рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рдЙрддреНрддрд░ рдореЗрдВ рдЧрд▓рдд рд╕реНрд░реЛрдд IP рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг @sanimej рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдк рд╢рд╛рдпрдж рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдПрдХ рдирд┐рд░реНрдмрд╛рдз рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд╕реЗрд╡рд╛ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рд╢реНрд░реЗрдгреА рдХреЛ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд▓реЙрдХ рдЕрд╕рд╛рдЗрди рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╕рдВрд░рдХреНрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрдард┐рди рддрд░реАрдХрд╛ рд╣реИред рдлрд┐рд░ рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдирдПрдЯреА + рдбреАрдЖрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рд╡реЗрд╢ рдореЗрдЬрдмрд╛рди рд╕рд╛рдорд╛рдиреНрдп рдПрд╕рдПрдирдПрдЯреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреИрдХреЗрдЯ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред рдореЗрдЬрдмрд╛рди рдкрд░ рдЬрд╣рд╛рдВ рдЕрд╕рд▓реА рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдПрд╕рдПрдирдПрдЯреА рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдХреЛ рдкреЛрд░реНрдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдЧреНрд░реЗрдб рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рдореЗрдВ рд╣реИред рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рд░рд┐рдЯрд░реНрди рдкреИрдХреЗрдЯ рдкрд░ рд╕реЛрд░реНрд╕ рдкреЛрд░реНрдЯ рд░реЗрдВрдЬ (рдФрд░ рдЯрд╛рд░рдЧреЗрдЯ рдкреЛрд░реНрдЯ) рдХреЗ рдЦрд┐рд▓рд╛рдл рдореИрдЪ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реЛрд░реНрд╕ рдЖрдИрдкреА рдХреЛ рдЗрдВрдЧреНрд░реЗрд╕ рд╣реЛрд╕реНрдЯ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреИрдирд╛рддреА рдореЗрдВ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдФрд░ рдирд╛рдЬреБрдХ рдЬрд╣рд╛рдВ рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкреЛрд░реНрдЯ рд╕реНрдкреЗрд╕ рднреА рдХрд╛рдлреА рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЬрд┐рд╕ рдПрдирдПрдЯреА + рдбреАрдЖрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдкреНрд░рд╡реЗрд╢ рдореЗрдЬрдмрд╛рди рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдХреЛ рд╕реАрдорд╛ рдореЗрдВ рдмрджрд▓рдХрд░ рдФрд░ рдмреИрдХрдПрдВрдб рд╣реЛрд╕реНрдЯ рд╕реЗ рд░реВрдЯрд┐рдВрдЧ рдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдХреЗрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдЗрдирдЧреНрд░реЗрдб рд╣реЛрд╕реНрдЯ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рдЕрдиреНрдп рдореБрджреНрджреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред

@thaJeztah
Nginx рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ IP рдкрддрд╛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдордп рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ?
рдореИрдВ рдореЗрдВ Nginx рдХрдВрдЯреЗрдирд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ global рдореЛрдб рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд host рддреЛ Nginx рдХрдВрдЯреЗрдирд░ рдПрдХ рд╕рд╣реА рдЖрдИрдкреА рдкрддреЗ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ,ред рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдареАрдХ рджреЗрдЦрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рдХреЛ Nginx рдХрдВрдЯреЗрдирд░ IP рдкрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдирд╣реАрдВред
Nginx рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ, рдФрд░ рд╡реЗрдм рдкреЛрд░реНрдЯ 8000 рдкрд░ uwsgi рдЪрд▓рд╛рддрд╛ рд╣реИ:

server {
    resolver 127.0.0.11;
    set $web_upstream http://web:8000;

    listen 80;
    server_name domain.com;
    location / {
        proxy_pass $web_upstream;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

@lpakula рдХреГрдкрдпрд╛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдореЗрд░реЗ рдЙрддреНрддрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ + рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣реЗ nginx рд╡рд┐рдиреНрдпрд╛рд╕

@ pi0 рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдореИрдВ рд▓рд┐рдВрдХ рд╕реЗ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдИрдкреА рдкрддрд╛ рдЕрднреА рднреА рдЧрд▓рдд рд╣реИ, рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреБрдЫ рдЧрд╛рдпрдм рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдореЗрд░реЗ рдкрд╛рд╕ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рджреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЙрдХрд░ ( 17.03.0-рд╕реАрдИ ) рдЭреБрдВрдб рдХреНрд▓рд╕реНрдЯрд░ рд╣реИ

    docker service create --name nginx --network overlay_network --mode=global \
        --publish mode=host,published=80,target=80 \
        --publish mode=host,published=443,target=443 \
        nginx:1.11.10

    docker service create --name web --network overlay_network \
        --replicas 1 \
        web:newest

Nginx рдХрдВрдЯреЗрдирд░ рдирд╡реАрдирддрдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрдВрдЯреЗрдирд░ https://hub.docker.com/_/nginx/ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рдкреЛрд░реНрдЯ 8000 . рдкрд░ uwsgi рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рддрд╛ рд╣реИ

рдореИрдВ рд▓рд┐рдВрдХ рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ nginx.conf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ conf.d/default.conf рджрд┐рдЦрддрд╛ рд╣реИ:

   server {
       resolver 127.0.0.11;
       set $web_upstream http://web:8000;

       listen 80;
       server_name domain.com;
       location / {
        proxy_pass $web_upstream;
      }
  }

рдФрд░ рдлрд┐рд░ nginx рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ:

  194.168.X.X - - [17/Mar/2017:12:25:08 +0000] "GET / HTTP/1.1" 200

рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ:

  10.0.0.47 - - [17/Mar/2017 12:25:08] "GET / HTTP/1.1" 200 -

рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрдореА рд╣реИ?

IP рдкрддрд╛ рдЕрднреА рднреА рдЧрд▓рдд рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рдХрд┐
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкрддрд╛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЗ рдмрдЬрд╛рдп рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)
рд╢реБрдХреНрд░, рдорд╛рд░реНрдЪ резрен, реирелремреж рдХреЛ рд╢рд╛рдо рен:рейрем рдмрдЬреЗ рд▓реБрдХрд╛рдЬрд╝ рдкрд╛рдХреБрд▓рд╛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@pi0 https://github.com/pi0 рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдореИрдВ рд▓рд┐рдВрдХ рд╕реЗ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди IP рдкрддрд╛ рдЕрднреА рднреА рд╣реИ
рдЧрд▓рдд, рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреБрдЫ рдХрдореА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдбреЛрдХрд░ ( 17.03.0-рд╕реАрдИ ) рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЭреБрдВрдб рдХреНрд▓рд╕реНрдЯрд░ рд╣реИ рдФрд░ рджреЛ
рд╕реЗрд╡рд╛рдПрдВ

docker service create --name nginx --network overlay_network --mode=global \
    --publish mode=host,published=80,target=80 \
    --publish mode=host,published=443,target=443 \
    nginx:1.11.10

docker service create --name web --network overlay_network \
    --replicas 1 \
    web:newest

Nginx рдХрдВрдЯреЗрдирд░ рдирд╡реАрдирддрдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
https://hub.docker.com/_/nginx/ http://url
рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рдкреЛрд░реНрдЯ 8000 . рдкрд░ uwsgi рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рддрд╛ рд╣реИ

рдореИрдВ рд▓рд┐рдВрдХ рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ nginx.conf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ conf.d/default.conf рджрд┐рдЦрддрд╛ рд╣реИ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрд╕рд╛рд░:

рд╕рд░реНрд╡рд░ {
рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ 127.0.0.11;
$web_upstream http://web :8000 рд╕реЗрдЯ рдХрд░реЗрдВ;

   listen 80;
   server_name domain.com;
   location / {
    proxy_pass $web_upstream;
  }

}

рдФрд░ рдлрд┐рд░ nginx рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ:

резрепрек.резремрео.XX - - [резрен/рдорд╛рд░реНрдЪ/реирежрезрен:резреи:реирел:режрео +режрежрежреж] "рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ / рдПрдЪрдЯреАрдЯреАрдкреА/рез.рез" реирежреж

рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ:

10.0.0.47 - - [17/рдорд╛рд░реНрдЪ/2017 12:25:08] "рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ / рдПрдЪрдЯреАрдЯреАрдкреА/1.1" 200 -

рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрдореА рд╣реИ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/25526#issuecomment-287342795 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ABtu97EFaCmLwAZiOrYT4nXi4oXPCbLQks5rmn43gaJpZM4Jf2WK
.

>

рдкрдВрдЬ,
рдкрдВрдЬрд╛рдорд╛рдкреЛрдВрдЧ рд╕реЗрд░реНрдорд╕рд╛рд╡рддреНрд╕рд░реА
рджреВрд░рднрд╛рд╖. (+66)869761168

@lpakula рдЖрд╣ рдПрдХ рдФрд░ рдмрд╛рдд рд╣реИ рдХрд┐ рдЖрдкрдХреА web:newest рдЫрд╡рд┐ рдХреЛ X-Real-IP рд╣реЗрдбрд░ рдХрд╛ рднреА рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред nginx рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЗрд╖рдХ рдЖрдИрдкреА рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрдХреЗрдд рд╢реАрд░реНрд╖рд▓реЗрдЦ рднреЗрдЬрддрд╛ рд╣реИред

@pi0 @PanJ
рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ!

рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд░реНрдЯ рдХреЛ рдмрд╛рдЗрдВрдб рдХрд░реЗрдВред

nginx TPROXY рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ IP рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

@stevvooe рдХреНрдпрд╛ рдбреЙрдХрд░ рднреА рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

nginx TPROXY рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ IP рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
@stevvooe рдХреНрдпрд╛ рдбреЙрдХрд░ рднреА рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдиреЛрдбреНрд╕ рдореЗрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ @sanimej рдпрд╛ @mavenugo рджреВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдЭреБрдВрдб рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ IP рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП REST API рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

@tonysongtl рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ

рдПрдХ рдФрд░ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрд▓рдмреНрдз рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЖрдкрдХрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрдкрдХреЗ рдиреЛрдбреНрд╕ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдБрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкреИрджрд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдиреЛрдб рдиреАрдЪреЗ рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрддрдорд╛рди рдЕрдиреБрд╢рдВрд╕рд╛ рдПрдХ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ (рдИрдПрд▓рдмреА, рдПрдл5, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рдд 4 рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдЭреБрдВрдб рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкрд░рдд 4 рдкрд░ рд╕рдВрддреБрд▓рди рд▓реЛрдб рдХрд░рдирд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ F5 SNAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рдорд▓рд╛ рдЖрдкрдХреЗ F5 рдХреЗ рдПрдХрд▓ IP рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛ рд╣реИ, рди рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ IP рдХреЛред

рд╕рдиреНрджрд░реНрдн:
https://docs.docker.com/engine/swarm/ingress/#configure -an-external-load-balancer
https://success.docker.com/architecture/Docker_Reference_architecture%3A_Docker_EE_Best_Practices_and_Design_Considerations
https://success.docker.com/architecture/Docker_Reference_architecture%3A_Universal_Control_Plane_2.0_Service_Discovery_and_Load_Balancing

рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдирд╛ - рдХреНрдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рд╕рднреА рдХреНрд▓рд╛рдЙрдб рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдФрд░ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред

рдХреЗрд▓рд┐рдХреЛ рдореЗрдВ рдЖрдИрдкреАрдЖрдИрдкреА рдореЛрдб рднреА рд╣реИ - https://docs.projectcalico.org/v2.2/usage/configuration/ip-in-ip - рдЬреЛ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЬреАрдердм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред https://githubengineering.com/kubernetes-at-github/

рдирдорд╕реНрддреЗред

рд╕рдордЭрдиреЗ рдФрд░ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдПрдВ рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ:

рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдореВрд▓ рд╕реНрд░реЛрдд-рдЖрдИрдкреА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реАрдЖрдИрдкреА рдЭреБрдВрдб рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдпрд╛ рд╣реИ:

create docker swarm
docker service create --name web --publish 80:80 nginx
access.log source IP is 10.255.0.7 instead of client's browser IP

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ:

рдЬрдм рдЭреБрдВрдб рдХреЗ рднреАрддрд░ рд╕реЗрд╡рд╛рдПрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдЬрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИрдВ, рддреЛ рдЭреБрдВрдб рдПрдирдПрдЯреА рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдореВрд▓ рд╕реЗ рдпрд╛рддрд╛рдпрд╛рдд рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ-рд░рдирд┐рдВрдЧ-рд╕рд░реНрд╡рд┐рд╕ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдореВрд▓ src-IP рдЦреЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЭреБрдВрдб рдХреА рд╕реЗрд╡рд╛ VIP рд╕реЗ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред

рд▓рдЧрддрд╛ рд╣реИ @kobolog https://github.com/moby/moby/issues/25526#issuecomment -258660348 рдФрд░ @dack https://github.com/moby/moby/issues/25526#issuecomment -260813865 рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХрд╛ @sanimej рджреНрд╡рд╛рд░рд╛ рдЦрдВрдбрди рдХрд┐рдпрд╛ рдЧрдпрд╛ https://github.com/moby/moby/issues/25526#issuecomment -280722179 https://github.com/moby/moby/issues/25526#issuecomment -281289906 рд▓реЗрдХрд┐рди, рдЯреАрдмреАрдПрдЪ, рдЙрдирдХреЗ рддрд░реНрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ рдореБрдЭреЗ рдЕрднреА рддрдХ, рди рд╣реА рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реИ рддреЛ рдзрд╛рдЧрд╛ рдмрдВрдж рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@sanimej рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ?:

  1. рдЭреБрдВрдб src-IP=A рдФрд░ рдЧрдВрддрд╡реНрдп = "my-service-virtual-address" рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
  2. рдкреИрдХреЗрдЬ рдЙрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЭреБрдВрдб рдиреЛрдб рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореВрд▓ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред
  3. рдХрдВрдЯреЗрдирд░-рд░рдирд┐рдВрдЧ-рджреИрдЯ-рд╕рд░реНрд╡рд┐рд╕-рдЖрдИрдкреА . рдореЗрдВ рдХрд╛рд░реНрдп рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдЖрдЧреЗ
    рдЭреБрдВрдб рдФрд░ рдиреЛрдбреНрд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рдЙрд╕реА рдореВрд▓ рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЙрд╕реА рдиреЛрдб рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдХреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП "NAT рдХреЗ рдмрдЬрд╛рдп рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА" рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╕рднреА рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛?

рджреВрд╕рд░реА рдУрд░, IIUC, https://docs.docker.com/engine/swarm/services/#publish -a-services-ports-directly-on-the-swarm-node рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдмрдЪрд╛ рд╣реИ, рдЬреЛ -рдлрд┐рд░ рд╕реЗ рдЖрдИрдЖрдИрдпреВрд╕реА- рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реЗ рд╣реИрдВ ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреВрд░реНрд╡-1.12 рдЭреБрдВрдб рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ _Consul_ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЖрдкрдХреА рдорджрдж рдФрд░ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╕рд╛рджрд░

@sanimej
рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ ... рдХреНрдпреЛрдВ рдбреЙрдХрд░ рд╕рд┐рд░реНрдл NAT рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдХреЗрд╡рд▓ рдбреЗрд╕реНрдЯ рдЖрдИрдкреА/рдкреЛрд░реНрдЯ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ)?

  1. рдЭреБрдВрдб рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ "рдП рд╕реЗ myservice рдХреЗ рд▓рд┐рдП"
  2. рдЙрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдЕрдЧреНрд░реЗрд╖рд┐рдд рд╕рдВрджреЗрд╢, рд╕реЗрдЯрд┐рдВрдЧ dest=node1
  3. Node1 рдХреЛ "A рд╕реЗ рдиреЛрдб1 рддрдХ" рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЖрдЧреЗ рдХреА рд╕реЗрдЯрд┐рдВрдЧ dest=container1
  4. рдХрдВрдЯреЗрдирд░ 1 рдХреЛ "рдП рд╕реЗ рдХрдВрдЯреЗрдирд░ 1 рддрдХ" рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
  5. рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрдЯреЗрдирд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреЗрдЯрд╡реЗ рдорд╛рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ

рдореИрдВ рдмрд╕ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛; рдЬрдмрдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдореВрд▓ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рди рдХрд░рдиреЗ рд╕реЗ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдмрд╛рдзрд╛ рдЖрддреА рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рд╣реИ рдЬреЛ рдореИрдВ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдБ:

  • рдиреЗрдЯрд╡рд░реНрдХ/рд╕реЗрд╡рд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЙрддреНрдкрддреНрддрд┐ рдХрд╣рд╛рдВ рд╕реЗ рд╣реБрдИ рд╣реИ, рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдиреЗрдЯрд╡рд░реНрдХ/рд╕реЗрд╡рд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

  • рд╕реЗрд╡рд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдореВрд▓ рдЖрдИрдкреА рдкрддреЗ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

  • рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЬрд╛рдЧрд░реВрдХрддрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрдХреНрд╕рд░ рдЖрдИрдкреА рдкрддреЗ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдзрд╛рдЧреЗ рдХреЗ рдореЗрд░реЗ рдкрдврд╝рдиреЗ рд╕реЗ, рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рднреАрддрд░ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕реЗрд╡рд╛рдПрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рджрд┐рдП рдЧрдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдкреНрд░рддрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкреЗрд╢рдХрд╢ рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рдмрд╣реБрдд рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЭреБрдВрдб рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯреЗрдб рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЦрд┐рд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЧреИрд░-рдЭреБрдВрдб рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯреЗрдб рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдПрдХ рдПрд▓рдмреА/рдкреНрд░реЙрдХреНрд╕реА рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рд╕рдВрдХрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрдирд╛рдП рд░рдЦрдирд╛ рд╕рдордп рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕рд░реНрд╡рд┐рд╕ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХрд┐рдирд╛рд░реЗ рдкрд░ рдПрд▓рдмреА/рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛?

рдХреНрдпрд╛ рдбреЙрдХрд░ рдЯреАрдо рд╢рд╛рдпрдж рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рджреЗрдЦ рд╕рдХрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдбреЙрдХрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдореМрдЬреВрдж рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреА рдЪрдкреЗрдЯ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдзрд┐рдХреГрдд/рдкреНрд░рдорд╛рдгреАрдХреГрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд╕реЗрд╡рд╛ рддрдХрдиреАрд╢рд┐рдпрдиреЛрдВ рдХреЛ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд▓реЛрдЧ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡реЗ рд╡реЗрдм рдПрдХреНрд╕реЗрд╕ рд▓реЙрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХрднреА рднреА рдореВрд▓ рдЖрдИрдкреА рдкрддрд╛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИред рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдЖрд╡реЗрджрди рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╣реЛ, рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп-рдЖрд╕рдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдХрдо рд╕реЗ рдХрдо рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреЗрд▓ рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирдП рд╡реАрдПрдо рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред

@ рдЬрд┐рддреНрд╕реБрдорд╛ рдХреНрдпрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

@thaJeztah docker-compose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА

`services:
  math:
    build: ./math
    restart: always
    ports:
    - target: 12555
      published: 12555
      mode: host

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЗ рд░реВрдк рдореЗрдВ 172.xx1 рд▓реЗрддрд╛ рд╣реИ

@trajano , рдореБрдЭреЗ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ?

@рдЬрд┐рддреНрд╕реБрд╕рд╛рдорд╛
рд╣рд╛рдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ рдХрд┐ рд╡реЗ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдХреИрд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ ред рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдЖрдк рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдкреИрдХреЗрдЯ рдЙрди рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд┐рдирд╛ рдиреЛрдбреНрд╕ рдкрд░ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк Rancher рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред

@trajano

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЗ рд░реВрдк рдореЗрдВ 172.xx1 рд▓реЗрддрд╛ рд╣реИ

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдЖрдИрдкреА рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрдк рдЭреБрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдХреНрдпреЛрдВрдХрд┐ docker_gwbridge рд╡рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рдкрддрд╛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рдЖрдк рдЕрдкрдиреЗ рдЖрдИрдкреА рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рднреАрддрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рд╕реЗ рдРрдк рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдВрдкреЛрдЬрд╝ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рдпрд╣рд╛рдВ, рдореИрдВ рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ nginx рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд┐рд▓реНрдб рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ jwilder/nginx-proxy рдХреЛ рдЕрдкрдиреЗ рдлреНрд░рдВрдЯрдПрдВрдб рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА (рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдвреЗрд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реВрдВ:

version: '3.3'

services:

  nginx-proxy:
    image: 'jwilder/nginx-proxy:alpine'
    deploy:
      mode: global
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

  nginx:
    image: 'nginx:1.13.5-alpine'
    deploy:
      replicas: 3
    ports:
      - 80
      - 443
    environment:
      - VIRTUAL_HOST=website.local
$ echo '127.0.0.1 website.local' | sudo tee -a /etc/hosts
$ docker stack deploy --compose-file docker-compose.yml website

рдпрд╣ рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП website_default рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдЧрд╛ред рдореЗрд░рд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ VIRTUAL_HOST рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ рдФрд░ http://website.local рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:

website_nginx-proxy.0.ny152x5l9sh7<strong i="30">@Sherry</strong>    | nginx.1    | website.local 172.18.0.1 - - [08/Sep/2017:21:33:36 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36"
website_nginx.1.vskh5941kgkb<strong i="33">@Sherry</strong>    | 10.0.1.3 - - [08/Sep/2017:21:33:36 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36" "172.18.0.1"

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ website_nginx.1.vskh5941kgkb рдХреЗ рд╣реЗрдбрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореВрд▓ рдЖрдИрдкреА ( 172.18.0.1 ) рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИред X-Forwarded-For & X-Real-IP рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ nginx.tmpl рдХреЗ jwilder/nginx-proxy рдореЗрдВ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред

рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП 443 , рдореИрдВ docker-compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЛрдиреЛрдВ рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмрд╕ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

docker service update website_nginx-proxy \
    --publish-rm 80 \
    --publish-add "mode=host,published=80,target=80" \
    --publish-rm 443 \
    --publish-add "mode=host,published=443,target=443" \
    --network-add "<network>"

рд╕рд╛рде рд╣реА рдЙрди рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ VIRTUAL_HOST ред jwilder/nginx-proxy рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕реЗрдЯрдЕрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╡рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╡реЗрд╢ рдЪрд╛рд░реНрдЯ (рдЖрдорддреМрд░ рдкрд░) рдореЗрдВ X-Forwarded-For рдФрд░ X-Real-IP рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╕рдВрдж рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдВрддрд░реНрдЧреНрд░рд╣рдг рдФрд░ рдЙрдирдХреА рддреИрдирд╛рддреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рднреА рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИрдВред

рддреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рд▓реЗрдЦрди рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдЬреЛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рдЖрдорддреМрд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ + рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЛрддрд╛ рд╣реИред

https://www.haproxy.com/blog/haproxy/proxy-protocol/

рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХреГрдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЬрд╛рдирдХрд╛рд░реАред Haproxy рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред nginx
рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдПрдХ рдмрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗрдЯрдЕрдк рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХрд┐рд╕реА рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╕реЗрд╡рд╛рдПрдВ рдЬреИрд╕реЗ
https://github.com/nginxinc/kubernetes-ingress/blob/master/examples/proxy-protocol/README.md

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдУрдкрдирд╢рд┐рдлреНрдЯ рднреА рд╕реНрд░реЛрдд рдЖрдИрдкреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ
https://docs.openshift.org/latest/install_config/router/proxy_protocol.html

рдпрд╣ k8s рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдкреНрд░рд╡реЗрд╢ рд╣реИ рдЬреЛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред

рдЖрдИрдПрдордПрдЪрдУ рдЭреБрдВрдб рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдкреНрд░рд╡реЗрд╢ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдирд╛ рд╣реИ
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рдпрджрд┐ рдпрд╣ рдПрдХ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдПрд▓рдмреА рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реИ
рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдФрд░ рд╕рд╛рде рд╣реА рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВ
рдЬрд╛рдирдХрд╛рд░реА (рдпрджрд┐ рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рдкреНрд░рд╡реЗрд╢ рд╕реЗ рдЯрдХрд░рд╛рддреЗ рд╣реИрдВ)ред

рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдирд╣реАрдВ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдХреЛрдИ рд╣реЛ
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХреГрдд рдорд╛рдирдХред

Traefik рдиреЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдкреНрд░реЙрдХреНрд╕реА_рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдерд╛ рдФрд░ рдпрд╣ v1.4.0-rc1 рдХреЗ рдмрд╛рдж рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЗрд╕реЗ рдбреЙрдХрд░ рдЭреБрдВрдб рдкреНрд░рд╡реЗрд╢ рд╕реНрддрд░ рдкрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдкреНрд░рд╡реЗрд╢
рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдбреЗрдЯрд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ
(traefix, nginx, рдЖрджрд┐ рд╕рд╣рд┐рдд) рдЗрд╕реЗ рдкрдврд╝ рд╕рдХреЗрдВрдЧреЗред

рдкрд░ 10 рд╕рд┐рддрдореНрдмрд░ 2017 21:42, "monotykamary" [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдЯреНрд░реИрдлрд┐рдХ рдиреЗ рдкреНрд░реЙрдХреНрд╕реА_рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛
рдХреБрдЫ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ https://github.com/containous/traefik/pull/2004 рдФрд░ is
v1.4.0-rc1 рдХреЗ рдмрд╛рдж рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-328352805 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU3jj5dJcpMDysjIyGQK7SGx8GwWbks5shApqgaJpZM4Jf2WK
.

рдореИрдВ рднреА рдЗрд╕ рдмрдЧ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ infrakit рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/docker/infrakit/pull/601 рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдЭреБрдВрдб рд▓реЗрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

рдЭреБрдВрдб рд░реЛрд▓рдЕрдк infrakit ? рдореИрдВ рдЗрд╕рдХреЗ рдкреНрд░рд╡реЗрд╢ рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрддреНрд╕реБрдХ рд╣реВрдВред

рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрдирдмрд╛рдЙрдВрдб рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдХрдЪреНрдЪрд╛ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рдЖрдИрдкреА рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╡реЗ рд╣рдорд╛рд░реА рдорд╢реАрди рдкрд░ рдХрд┐рд╕ рдЖрдИрдкреА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред

@blazedd рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдФрд░ рдЕрдиреНрдп рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рдереА, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ publishMode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрднрд╡ рд╣реИред рдпрд╛рдиреА: рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЬрд╛рд▓ рдиреЗрдЯрд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдИрдЖрдИрдпреВрд╕реА, рдкреНрд░рд╡реЗрд╢ рдХреИрд╕реЗ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рд╣реЛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╣реИред

рд╣рдордиреЗ рдмрд╛рд╣рд░реА LB рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП publishmode рдФрд░ mode:global рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА nginx рд╕реЗрд╡рд╛ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИред

@mostolog рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдмрд╕ рдХреБрдЫ рдиреЛрдЯ:

  1. publishMode рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрдирдмрд╛рдЙрдВрдб рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдЕрднреА рднреА рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЭреБрдВрдб рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдЬрдм рдЖрдк рдкреЛрд░реНрдЯ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ mode: host
  2. nginx рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреАрд╕реАрдкреА рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдХреЛрдИ рд╣реЗрдбрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЛрдбрд┐рдВрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВред
  3. рдЕрдЧрд░ рдореИрдВ docker run --net=host ... рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╕рдм рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
  4. рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рд╡рд╣ рдЕрдм рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: https://github.com/moby/moby/issues/25873#issuecomment -319109840

@blazedd рд╣рдорд╛рд░реЗ рдвреЗрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ:

    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓реЙрдЧ рдкрд░ рдЕрд╕рд▓реА рдЖрдИрдкреА рдорд┐рд▓реЗрдЧрд╛ред

@mostolog рдпрд╣ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ резренреи.реж.реж.x рдкрддрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

@mostolog mode: host рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЗрдирдЧреНрд░реЗрдб рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рддреЗ рд╕рдордп рдбреЙрдХрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдбреЙрдХ рд░рди рдХрдорд╛рдВрдб рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд --publish 8080:8080 рджреЛрд╣рд░рд╛рдПрдЧрд╛ред рдпрджрд┐ nginx рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ ips рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реЙрдХреЗрдЯ рдХреЗ рд╕реАрдзреЗ рдЙрди ips рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдврд╛рдВрдЪреЗ рдХреЗ рдХрдЪреНрдЪреЗ рдЯреАрд╕реАрдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╛ HTTP рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдкрддреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕реАрдзреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЖрдИрдкреАрд╡реАрдПрд╕ рд░реВрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд░реЗрдВ? рд╕рднреА рдЭреБрдВрдб рдиреЛрдб рдХреЗ рдУрд╡рд░рд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ ips рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ ips рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рдБрдзреЗрдВ, рдорд▓реНрдЯреА-рдЧреЗрдЯрд╡реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП ip rule from xxx table xxx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдлрд┐рд░ рдЭреБрдВрдб рдиреЛрдбреНрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реАрдзреЗ рдХрдВрдЯреЗрдирд░ (DNAT) рдореЗрдВ рд░реВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЙрдХреНрд╕реА рдбреЗрдореЙрди (рдбреЙрдХрд░реНрдб) рдХреЗред

@blazedd рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? @mostolog рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреМрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред

рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

  • DR рдореЛрдб рдореЗрдВ ipvs рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ (рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдмрд╛рд╣рд░)
  • 3 рдбреЙрдХ рдиреЛрдб, рдЧрдВрддрд╡реНрдп рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рд╕рднреА рдиреЛрдбреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдФрд░ рдЖрдИрдкреАрд╡реАрдПрд╕ рдбреАрдЖрд░ рд░реВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдЖрд░рдкреА

рдореИрдВ рдЭреБрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдвреЗрд░ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкрддреЗ рдХреЛ рдЙрд▓рдЭрд╛рдП рдмрд┐рдирд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рдкрд░ рдкреЛрд░реНрдЯ 80 рдкрд░ рд╕реБрдирддрд╛ рд╣реВрдВред

рдореИрдВ рдРрд╕рд╛ рдХрд░рдХреЗ рд▓рдЧрднрдЧ рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ:
рдмрдВрджрд░рдЧрд╛рд╣:
- рд▓рдХреНрд╖реНрдп: 80
рдкреНрд░рдХрд╛рд╢рд┐рдд: 80
рдкреНрд░реЛрдЯреЛрдХреЙрд▓: рдЯреАрд╕реАрдкреА
рдореЛрдб: рд╣реЛрд╕реНрдЯ

рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╣реИ - рдпрд╣ рд╕рд┐рд░реНрдл рд╕рднреА рдХреЛ рдмрд╛рдВрдзрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрд╕ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЖрдИрдкреА рд╕реЗ рдмрд╛рдВрдзрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ DR рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЗрд╡реЛрдВ рдиреЗ рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрдирд╛ рд▓реА рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдЖрдИрдкреА рдХрдИ рдиреЛрдбреНрд╕ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рдбреАрдЖрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЫреЛрдЯреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╛рдЗрдВрдб рдЖрдИрдкреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рднреА рд╕рднреА рдкрддреЛрдВ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рд╣реА рдЖрдИрдкреА рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдПрдХ рдЧреИрд░-рд╕рдВрдХреБрд▓ рдХрдВрдЯреЗрдирд░ (рд╕реЗрд╡рд╛ рдпрд╛ рдвреЗрд░ рдирд╣реАрдВ) рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рддреЛ рдЕрдм рдореИрдВ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛/рд╕реНрдЯреИрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред
рдореИрдВ рдбреЙрдХрд░ рдкреНрд░рд╡реЗрд╢ рдХреЗ рднреАрддрд░ рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рджреВрдВрдЧрд╛ рдЬреЛ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдХреБрдЫ рдХрдЪреНрдЪреЗ рдпреВрдбреАрдкреА/рдЯреАрд╕реАрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ HTTP рдирд╣реАрдВ) рдХреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдореИрдВ "рдореЛрдб = рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ" рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рд╕реЗрд╡рд╛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рддреИрдирд╛рдд рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ macvlan рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ, рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдХреБрдЫ рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдореЗрдВ "macvlan рдбреНрд░рд╛рдЗрд╡рд░ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛" рдЬреИрд╕реЗ рд▓реЙрдЧ рдорд┐рд▓рддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдХрдИ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд┐рдХрдЯ рдмрдирд╛рдпрд╛ рд╣реИ: https://github.com/docker/libnetwork/issues/2050
рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдЕрднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ :'(

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ
рдХреНрдпрд╛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрд╛рдп рд╣реИ? рдЗрд╕реЗ рдПрдХ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛
рдмрдВрджрд░рдЧрд╛рд╣ ?

11-рдЬрдирд╡рд░реА-2018 00:03 рдХреЛ, "рдУрд▓рд┐рд╡рд┐рдпрд░ рд╡реЛрд░реНрдЯрдореИрди" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред
рдореИрдВ рдбреЙрдХрд░ рдкреНрд░рд╡реЗрд╢ рдХреЗ рднреАрддрд░ рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рджреВрдВрдЧрд╛ рдЬреЛ рд╕рднреА рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛
рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдХреБрдЫ рдХрдЪреНрдЪреЗ рдпреВрдбреАрдкреА/рдЯреАрд╕реАрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдЪрдЯреАрдЯреАрдкреА рдирд╣реАрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрдирд╛ред

рдореИрдВ "рдореЛрдб = рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ" рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рд╕реЗрд╡рд╛ рд╣реИ
рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рддреИрдирд╛рддред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ macvlan рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ
рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡рд░, рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдХреБрдЫ рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдореЗрдВ "macvlan рдбреНрд░рд╛рдЗрд╡рд░ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛" рдЬреИрд╕реЗ рд▓реЙрдЧ рдорд┐рд▓рддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдХрдИ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд┐рдХрдЯ рдмрдирд╛рдпрд╛ рд╣реИ: docker/libnetwork#2050
https://github.com/docker/libnetwork/issues/2050
рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдЕрднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ :'(

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-356693751 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUzlM-BMbEsDYAiYH6hKLha-aRqerks5tJQJngaJpZM4Jf2WK
.

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдлрд╝рд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЙрдХрдЯрд░ рдЭреБрдВрдб рдХреА рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред

рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ network_mode:host рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЭреБрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред

mode=host port publishing рдпрд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ docker run -p "80:80" ... рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рд╛

https://github.com/moby/moby/issues/15086 рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛рдП рдЧрдП рдереЗ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди "рд╣реЛрд╕реНрдЯ" рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдерд╛ ...

рд╕рд╣реА рдЖрдИрдкреА рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ nginx рджрд░ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдбреЙрдХрд░ рдЭреБрдВрдб рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ nginx рдЙрди рд╕рднреА рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рдЖрдИрдкреА рд╕реЗ рдЖрддреЗ рд╣реИрдВред рддреЛ рдореЛрдб = рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХрд╛рдордХрд╛рдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдореИрдВ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП DNS рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдбреЙрдХрдЯрд░ рдЗрд╕ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╕рд╛рдордиреЗ рд╡рд╛рд▓реЗ HTTP рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ HTTP рдЕрдиреБрд░реЛрдз рд╣реЗрдбрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдирд┐ рдореЗрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред

рдЬрдм рддрдХ рдбреЙрдХрд░ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдХреЛрдИ рднреА рдбреЙрдХрд░ рдлреНрд▓реЛ рдкреНрд░реЙрдХреНрд╕реА рдпрд╛ рдЯреНрд░реИрдлрд┐рдХ рдЬреИрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕ рд╕реЗрд╡рд╛ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреЛрд░реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЗрд╕рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓реЛрдб рд╕рдВрддреБрд▓рди/рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

@deeky666 Traefik рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдХрд╛рдо рдХреЗрд╡рд▓ dockerized рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░

рдореБрдЭреЗ traefik . рдкрд░ udo рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ

рдореЗрд░реЗ рдЖрдИрдлреЛрди рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛

рдЕрдВрдд рдореЗрдВ рд╣рдордиреЗ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдпрд╣ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ!

рдмреБрдз, рдкрд░ 5:43 рдорд╣рд┐рд▓рд╛ 24 рдЬрдирд╡рд░реА, 2018, рдкрд░ рдПрдлрд╝реНрд░реИрди [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдореБрдЭреЗ traefik . рдкрд░ udo рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ

рдореЗрд░реЗ рдЖрдИрдлреЛрди рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛

>

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-360091189 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AHf7rvMcH2iFBxcExfO_Ol0UttCspuTnks5tNwlkgaJpZM4Jf2WK
.

рд╕рдорд╕реНрдпрд╛ 17.12.0-ce рдореЗрдВ mode=host рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рд▓рдЧрддреА рд╣реИред

docker service create --publish mode=host,target=80,published=80 --name=nginx nginx

рдЗрд╕рдХреА рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ (рдХреЛрдИ рд░реВрдЯрд┐рдВрдЧ рдореЗрд╖ рдирд╣реАрдВ) рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

@goetas mode=host рдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред рдореЛрдб = рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рд╕реА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рдкреЛрд░реНрдЯ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЭреБрдВрдб рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрджрд┐ред

@darklow рдореБрдЭреЗ рд╕реАрдорд╛рдПрдВ рдкрддрд╛ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ 17.09.1-ce рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реБрдзрд╛рд░ рд╣реИ!

рдЕрдкрдбреЗрдЯ рдХреЗ рджреМрд░рд╛рди рдбрд╛рдЙрди рдЯрд╛рдЗрдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рдмрдбрд╝реА рдХрдореА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдореЗрдВ рдпрд╣ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдерд┐рд░рддрд╛ рдпрд╛ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрддрд╛ рдЫреЛрдбрд╝рдирд╛ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреЛ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╢рд╛рдпрдж рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИ
рдбреЛрдХрд░ рдЭреБрдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдердиред

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ?

реирео-рдЬрдирд╡рд░реА-реирежрезрео рдХреЛ реиреи:рейреп рдХреЛ, "рдЬреЗрдирдХреА рддрд╛рдХреАрдЙрдЪреА" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдбрд╛рдЙрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рдмрдбрд╝реА рдХрдореА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ
рдЕрджреНрдпрддрди рдХреЗ рджреМрд░рд╛рди рд╕рдордпред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдореЗрдВ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдерд┐рд░рддрд╛ рдпрд╛ рд╕реНрд░реЛрдд рдЖрдИрдкреА
рдкрддрд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-361078416 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU-or7fnhKTg7fhjtZYjGYHBFRE7Dks5tPKnYgaJpZM4Jf2WK
.

@sandys рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред
@thaJeztah @aluzzardi @mrjana рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреГрдкрдпрд╛ рдХреБрдЫ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЯреАрдо рдХреА рдУрд░ рд╕реЗ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдЖрдИ рд╣реИред рдзрдиреНрдпрд╡рд╛рджред

рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд▓рдЧрддрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЯреАрдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧреАред

@goetas рдЗрд╕рдиреЗ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдХрдо рд╕реЗ рдХрдо рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрд╛ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ 172.xxx рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ docker 1.12.6 рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рднреА рджрд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ, рдзреЛрдЦрд╛рдзрдбрд╝реА рдХреА рд░реЛрдХрдерд╛рдо, рд▓реЙрдЧрд┐рдВрдЧ, рд╕реБрд░рдХреНрд╖рд┐рдд рд▓реЙрдЧрд┐рди, рд╕рддреНрд░ рдирд┐рдЧрд░рд╛рдиреА рдЖрджрд┐ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ!
рдореЛрдб рдХреЗ рд╕рд╛рде рд╕реБрдирдирд╛

рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рд╣реИ рдФрд░ рдпрд╣ рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЧреЛ-рд▓рд╛рдЗрд╡ рдХреЛ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред рд╣рдо рдпрд╣ рднреА рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реИред рдбреЙрдХрд░ рдкреНрд░рд╡реЗрд╢ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЭреБрдВрдб рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░рдмрдВрдзрд┐рдд рдкреНрд░рд╡реЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдирд╛ред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЙрдк-рдЗрд╖реНрдЯрддрдо рд╣реИ - рдФрд░ рдПрдХ рдЙрдкрд░рд┐ рдирд╣реАрдВ рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЭреБрдВрдб рджреЗрд╡рддрд╛ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЭреБрдВрдб-рдкреНрд░рд╡реЗрд╢ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╕рднреА рдмрдЧреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдЬреИрд╕реЗ https://github.com/containous/traefik/issues/2619)

рдореБрдЭреЗ рдпрд╣ рдЭреБрдВрдб рдореЛрдб рдХреЗ рдмрдЬрд╛рдп "рд▓рд┐рдЦреЗрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫред

рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЪрд┐рдВрддрд╛рдПрдБ:

рдХреНрдпрд╛ рдпрд╣ рдбреЙрдХрд░ рджреНрд╡рд╛рд░рд╛ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдбреАрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдпрджрд┐ рд╣рдо рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдпрд╛ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдбреЙрдХрдЯрд░ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдЦреЛрд▓ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкрддреЗ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рдкрд░ рдЙрд▓рдЯрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рд╡реЗрдм-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдирд┐рд░реНрднрд░) рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдирд╣реАрдВ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рдХрдИ рдЧреИрд░-рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реИред рдХрд┐рд╕реА рднреА рдЯреАрд╕реАрдкреА/рдпреВрдбреАрдкреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдбреЙрдХрд░ рдореЗрдВ рдФрд░ рдХреБрдЫ рднреА рд╡реЗрдм-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдкрджреНрдзрддрд┐ рдХреА рддрд░рд╣, рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░/рдПрдордЯреАрдпреВ рдореБрджреНрджреЛрдВ рдХреА рднреА рдЪрд┐рдВрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рдВрднрд╡рддрдГ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдЭреБрдВрдб рдиреЗрдЯрд╡рд░реНрдХ рдУрд╡рд░рд╣реЗрдб рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдПрдордЯреАрдпреВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЭреБрдВрдб рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдХреЛрдИ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред

@trajano - рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХрд╛ рд░рдЪрдирд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЭреБрдВрдб рдХреЗ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд▓рд╛рднреЛрдВ (рдЬреИрд╕реЗ рд▓реЛрдб рд╕рдВрддреБрд▓рди) рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред

@dack рдмреИрдХрдПрдВрдб рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдЖрдк рдПрдХ рдкрддрд▓реА рдкрд╛рд╕рдереНрд░реВ рдЬреИрд╕реА рдкреНрд░реЙрдХреНрд╕реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЗрдбрд░ рдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреЗ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рдордиреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИред
рдЬрд╛рдирдХрд╛рд░реА рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдШрд╛рддрдХ рдореБрджреНрджрд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрдиреНрдп рд╕реНрд╡рдЪреНрдЫ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдкрд╣рд▓реЗ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рд╡реНрдпрд╛рдкрдХ рд╕реНрд╡реАрдХреГрддрд┐ рд╣реИред рд╕рдорд░реНрдерд┐рдд рдЯреВрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦреЗрдВ -
рдпрд╣ рдХреНрд▓рд╛рдЙрдб рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ (рдИрдПрд▓рдмреА, рдЧреВрдЧрд▓ рдПрд▓рдмреА) рдФрд░ рдЯреНрд░реИрдлрд┐рдХ рдЬреИрд╕реЗ рдирдП рдЯреВрд▓ рдХреЛ рднреА рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдпрд╣ рдХрд╛рдлреА рдорд╛рдирдХ рд╣реИ: https://github.com/kubernetes/ingress-nginx#proxy -protocol

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдмрд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХреГрдд рдорд╛рдирдХ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдФрд░ рджреБрдирд┐рдпрд╛ рдХреЗ nginxes рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдореВрд▓реНрдп рдирд╣реАрдВ рджреЗрдЦрддрд╛ред

рдпреЗ L7 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИрдВред рдЭреБрдВрдб рдкреНрд░рд╡реЗрд╢ L4 рд╣реИред рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдбреАрдПрдирдПрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЖрдИрдкреАрд╡реАрдПрд╕ рд╣реИред

@ cpuguy83 рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░рдд 4 рд╣реИред
http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt

PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╕рд░реНрд╡рд░ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рднрд░рдирд╛ рд╣реИ
рдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛ рд╕рд░реНрд╡рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реАрдзреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рд░рд╣рд╛ рдерд╛ рдмрдЬрд╛рдп a . рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд╣рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╣реА рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдХрд░реЗрдЧрд╛
getockname() рдФрд░ getpeername() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

  • рдкрддрд╛ рдкрд░рд┐рд╡рд╛рд░ (IPv4 рдХреЗ рд▓рд┐рдП AF_INET, IPv6 рдХреЗ рд▓рд┐рдП AF_INET6, AF_UNIX)
  • рд╕реЙрдХреЗрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (TCP рдХреЗ рд▓рд┐рдП SOCK_STREAM, UDP рдХреЗ рд▓рд┐рдП SOCK_DGRAM)
  • рдкрд░рдд 3 рд╕реНрд░реЛрдд рдФрд░ рдЧрдВрддрд╡реНрдп рдкрддреЗ
  • рдкрд░рдд 4 рд╕реНрд░реЛрдд рдФрд░ рдЧрдВрддрд╡реНрдп рдмрдВрджрд░рдЧрд╛рд╣ рдпрджрд┐ рдХреЛрдИ рд╣реЛ

http://cbonte.github.io/haproxy-dconv/1.9/configuration.html#5.1 -accept-proxy

рд╕реНрд╡реАрдХрд╛рд░-рдкреНрд░реЙрдХреНрд╕реА

рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдХрдиреЗрдХреНрд╢рди рдкрд░ PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ
рдПрдХ рд╣реА рд▓рд╛рдЗрди рдкрд░ рдШреЛрд╖рд┐рдд рд╕реЙрдХреЗрдЯред рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1 рдФрд░ 2
рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░рдд рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ 3/4 рдкрддреЗ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрддреЗ рд╣реИрдВ
"рдЯреАрд╕реАрдкреА-рдЕрдиреБрд░реЛрдз рдХрдиреЗрдХреНрд╢рди" рдирд┐рдпрдореЛрдВ рдХреЗ рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ
рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдиреЗрдХреНрд╢рди рдкрддрд╛ рджреЗрдЦреЗрдВред рд▓реЙрдЧ рдкрддреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░реЗрдВрдЧреЗ
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ
рдкрддреЗ рдХрд╛ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЦреЛрдЬрд╢рдмреНрдж рдмрд╛рд╣рд░реА рд╕реЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИ
рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдХреБрд╢рд▓ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдбреЗрдб-рдореИрдХреЗрдирд┐рдЬреНрдо рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рдореЗрд╢рд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ
рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрд╛рд░реАрдХ-рдмрд╛рд░реАрдХ рдХреЗ рд▓рд┐рдП "tcp-request рдХрдиреЗрдХреНрд╢рди рдЕрдкреЗрдХреНрд╖рд╛-рдкреНрд░реЙрдХреНрд╕реА" рднреА рджреЗрдЦреЗрдВ
рдХрд┐рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдерд╛? рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдбреЙрдХрд░ рдЭреБрдВрдб рдореЗрдВ рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдФрд░ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ (рдЬреИрд╕реЗ nginx, рдЖрджрд┐) рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЬреЛ рдЭреБрдВрдб-рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╣реЛрдЧрд╛ ... рд╕рд╛рде рд╣реА рд╕рд╛рде AWS ELB рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдЬреЛ рдЭреБрдВрдб-рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╣реЛрдВрдЧреЗред рд╡рд╣ рдореЗрд░рд╛ рдХреЗрд╡рд▓ $0.02 . рдерд╛

@sandys рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓

рдореИрдВ рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдкреНрд░рд╡реЗрд╢ рдХреЛ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рдПрдХ рд╕рд╛рд░реНрдердХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛрдЧрд╛ред

@sandys https://github.com/sandys рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди (рдХрдо рд╕реЗ рдХрдо рдХрдиреЗрдХреНрд╢рди рджреАрдХреНрд╖рд╛ рдкрд░), рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рд╕реНрдЯреИрдХ рдХреЗ рдиреАрдЪреЗ рд░рд┐рд╕реАрд╡рд░ рд╕реЗ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ред рд╡рд╣рд╛рдВ
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреНрд░реЗрдб-рдСрдл рд╣реИрдВред

рдпрд╣ рд╕рдЪ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ RFC рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдирдХ рд╣реИред рд╡рд╣рд╛рдБ рд╣реИ
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдЧрддрд┐ - рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣рд░ рдШрдЯрдХ рдорд╣рддреНрд╡
рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред IMHO рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдмреБрд░рд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдПрдХ рд╕рд╛рд░реНрдердХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛрдЧрд╛ред

рдпрд╣ рдПрдХ рдмрдбрд╝реА рдЪрд░реНрдЪрд╛ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ
рджреВрд╕рд░реЛрдВ рдкрд░ рдбреЙрдХрд░ рдЭреБрдВрдб рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕рднреА рдмреИрдЯрд░реА рд╣реИрдВ
рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рддред

рдореИрдВ рдЕрдм рднреА рдЖрдкрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдПрдХ рдорд╣рд╛рди рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реВрдВрдЧрд╛
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕реЗ рдЙрджреНрдпреЛрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рд╣реИред

рдХреНрдпрд╛ Linux рдФрд░ LxCs рдкрд░ L3 рд░рд╛рдЙрдЯрд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ docker рдирд╣реАрдВ)

@trajano рд╕рд┐рдореБрд▓реЗрд╢рди рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдХрд▓реНрдк (рдЙрджрд╛: --use-proxy-protocol ) рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкрддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ nginx рдЬреИрд╕реЗ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯреЗрдб рдкреИрдХреЗрдЯ рдХрд╛ рдЗрд▓рд╛рдЬ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдбреЙрдХрдЯрд░ рдиреЛрдб SNAT рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреИрдХреЗрдЯ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдиреЛрдб рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдПрд╕рдПрдирдПрдЯреА рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯрдирд▓рд┐рдВрдЧ/рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЕрди-рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкреИрдХреЗрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╣рд▓ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрдирд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдЖрдк GRE рдФрд░ VXLAN рдЬреИрд╕реА рд╕реБрд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХреЛрдИ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдЯреАрдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ 'рд╣рдо рдЖрдкрдХреЛ рд╕реБрдирддреЗ рд╣реИрдВ'? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдЬрд┐рд╕рдХреА рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ 'рдЖрдЙрдЯ рдСрдл рдж рдмреЙрдХреНрд╕' рд╣реИ рдФрд░ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рд░реБрдЪрд┐ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рд▓рдЧрднрдЧ 18 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ 9 рдЕрдЧрд╕реНрдд 2016 рдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХреЛрдИ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдЯреАрдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ 'рд╣рдо рдЖрдкрдХреЛ рд╕реБрдирддреЗ рд╣реИрдВ'?

/cc @GordonTheTurtle @thaJeztah @riyazdf @aluzzardi

@bluejaguar @ruudboon рдореИрдВ рдбреЙрдХрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рдЬрд╛рдирд╛ рдорд╛рдирд╛ рдореБрджреНрджрд╛ рд╣реИред рдЕрднреА рдиреЗрдЯрд╡рд░реНрдХ рдЯреАрдо рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓реА рдЖ рд░рд╣реА рдмрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирдИ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рдПрдХ рдареЛрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЗрд╕реЗ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

@ cpuguy83 рдореИрдВ https://github.com/kubernetes/kubernetes/issues/42616 (PS рджрд┐рд▓рдЪрд╕реНрдк рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ Google Kubernetes Engine рд╕реЗ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ HTTPS рдореЛрдб рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдИрдПрд▓рдмреА рдиреЗ рдирд╡рдВрдмрд░ 2017 рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ v2 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИ (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/doc-history.html)

рдУрдкрдирд╕реНрдЯреИрдХ рдСрдХреНрдЯреЗрд╡рд┐рдпрд╛ рдПрд▓рдмреА-рдПрдЬрд╝-рдП-рд╕рд░реНрд╡рд┐рд╕ (рд╣рдорд╛рд░реЗ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд╕рдорд╛рди) рдкрд┐рдЫрд▓реЗ рдЕрдкреНрд░реИрд▓ рдореЗрдВ рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ - http://git.openstack.org/cgit/openstack/octavia/commit/?id=bf7693dfd884329f7d1169eec33eb03d2ae81ace

рдУрдкрдирд╕реНрдЯреИрдХ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ - https://docs.openshift.com/container-platform/3.5/install_config/router/proxy_protocol.html
рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ https рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИрдВ (рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрдм рдЖрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдкреНрд░рд╡реЗрд╢ рдкрд░ рд╕рдорд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ)ред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ/рд╕рдорд╛рдзрд╛рди? рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдХреЛрдИ рднреА рд╕рд╣рд╛рдпрддрд╛рдХрд╛рдлреА рдкреНрд░рд╢рдВрд╕рдиреАрдп рд╣реЛрдЧреАред

рдореЗрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг:

рдЧреНрд░рд╛рд╣рдХ:
рд╕рдВрд╕реНрдХрд░рдг: резрео.режреи.реж-рд╕реАрдИ
рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг: 1.36
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг: go1.9.3
рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз: fc4de44
рдирд┐рд░реНрдорд┐рдд: рдмреБрдз рдлрд╝рд░рд╡рд░реА 7 21:16:33 2018
рдУрдПрд╕/рдЖрд░реНрдХ: linux/amd64
рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ: рдЕрд╕рддреНрдп
рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░: рдЭреБрдВрдб

рд╕рд░реНрд╡рд░:
рдпрдиреНрддреНрд░:
рд╕рдВрд╕реНрдХрд░рдг: резрео.режреи.реж-рд╕реАрдИ
рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг: 1.36 (рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 1.12)
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг: go1.9.3
рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз: fc4de44
рдирд┐рд░реНрдорд┐рдд: рдмреБрдз рдлрд╝рд░рд╡рд░реА 7 21:15:05 2018
рдУрдПрд╕/рдЖрд░реНрдХ: linux/amd64
рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ: рдЕрд╕рддреНрдп

@adijes , рдФрд░ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ bridge рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдмрд╛рдБрдз рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХрд┐рд╕реА рдПрдХ рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ)ред

version: "3.4"

services:
  frontend:
    image: nginx
    deploy:
      placement:
        constraints:
          - node.hostname == "prod1"
    networks:
      - default
      - bridge
  # backed services...
  # ...

networks:
  bridge:
    external:
      name: bridge

рд╣рдорд╛рд░реЗ frontend рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ bridge рдФрд░ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдЯреАрдХ рдореЗрдЬрдмрд╛рди рдореЗрдВ рд░рд╣рдиреЗ, рдЬрд┐рд╕рдХрд╛ рдЖрдИрдкреА рд╣рдорд╛рд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ default рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рднреА рдЬреБрдбрд╝рд╛ рд╣реИ, рдпрд╣ рд╕рдорд░реНрдерд┐рдд рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

рдЖрдк frontend рдХреЛ рднреА рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕реА рд╣реЛрд╕реНрдЯ рдореЗрдВ рд▓рд╛рдЗрд╡ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдореЗрдЬрдмрд╛рди рдХреЛ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдПрдХрд▓ рдмрд┐рдВрджреБ рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдпрд╣ рдЫреЛрдЯреА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛:

рдореЗрд░рд╛ nginx рдХрдВрдЯреЗрдирд░ https://github.com/jwilder/nginx-proxy рдХреЗ рдкреАрдЫреЗ рд╣реИ, рдореИрдВ SSL рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред Nginx-proxy docker run рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдбреЙрдХрдЯрд░ рдЭреБрдВрдб рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рд╢рд╛рдпрдж рдЗрд╕реАрд▓рд┐рдП рдореБрдЭреЗ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рд╕реЗ рдЕрд╕рд▓реА рдЖрдИрдкреА рдорд┐рд▓рд╛ред рдореЗрд░реЗ nginx рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ nginx-proxy рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП bridge рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

Client:
 Version:      17.09.1-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:23:40 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.09.1-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:25:03 2017
 OS/Arch:      linux/amd64
 Experimental: false

рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╕реЗрдЯрдЕрдк рджреВрд╕рд░реЗ рд╕реЗрдЯрдЕрдк рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:

Client:
 Version:      17.09.1-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:23:40 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.09.1-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:25:03 2017
 OS/Arch:      linux/amd64
 Experimental: false

@ letientai299 рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ

рдиреЗрдЯрд╡рд░реНрдХ "рдмреНрд░рд┐рдЬ" рдХреЛ рдмрд╛рд╣рд░реА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рджрд╛рдпрд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ: "рдЭреБрдВрдб" рдХреЗ рдмрдЬрд╛рдп "рд╕реНрдерд╛рдиреАрдп"

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдФрд░ рддреАрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рд╣реИрдВ

@trajano , рдореЗрд░рд╛ рдЕрдкрдбреЗрдЯ рджреЗрдЦреЗрдВред

@ letientai299 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ bridge рдХреИрд╕реЗ рдорд┐рд▓рд╛ред рдпрд╛рдиреА рдЖрдкрдХреЛ рд╡рд╣ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИред

@dack рдЬрдм рдЖрдк рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ

ports:
- target: 12555
  published: 12555
  protocol: tcp
  mode: host

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬрдм docker stack deploy рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рднреА рд╕реНрд░реЛрдд рдЖрдИрдкреА рдЦреЛ рджреЗрддрд╛ рд╣реИ рдЬрдмрдХрд┐ docker-compose up рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ @goetas . рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА

docker service create --constraint node.hostname==exposedhost \
  --publish published=12555,target=12555,mode=host \
  trajano.net/myimage

рдЕрднреА рднреА рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИ рдпрд╣ Server Version: 17.12.0-ce

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЪрд╛рд╣реЗрдЧрд╛, рдФрд░ рдЪреВрдВрдХрд┐ рдмреНрд░рд┐рдЬ/рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЧреНрд░рд╛рд╣рдХ:
рд╕рдВрд╕реНрдХрд░рдг: резрен.резреи.реж-рд╕реАрдИ
рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг: 1.35
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг: go1.9.2
рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз: c97c6d6
рдирд┐рд░реНрдорд┐рдд: рдмреБрдз рджрд┐рд╕рдореНрдмрд░ 27 20:03:51 2017
рдУрдПрд╕/рдЖрд░реНрдХ: рдбрд╛рд░реНрд╡рд┐рди/amd64

рд╕рд░реНрд╡рд░:
рдпрдиреНрддреНрд░:
рд╕рдВрд╕реНрдХрд░рдг: резрен.резреи.рез-рд╕реАрдИ
рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг: 1.35 (рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 1.12)
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг: go1.9.4
рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз: 7390fc6
рдирд┐рд░реНрдорд┐рдд: рдордВрдЧрд▓ рдлрд╝рд░рд╡рд░реА 27 22:17:54 2018
рдУрдПрд╕/рдЖрд░реНрдХ: linux/amd64
рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ: рд╕рддреНрдп

рдпрд╣ 2018 рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирдпрд╛?
рдЭреБрдВрдб рдореЛрдб рдореЗрдВ, рдореИрдВ nginx req рд╕реАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред $remote_addr рд╣рдореЗрд╢рд╛ 10.255.0.2 рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ред
рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╢рд╛рдпрдж рдореБрдЭреЗ рдЖрдЬ рд╕реЗ рд╣реА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рдорд╛рд╕реНрд▓реЛ рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдКрдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВред

рдХреНрдпрд╛ рд╣рдо рдЪреЗрдХ рдореЗрдВ рдвреАрд▓ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ

networks:
  bridge:
    external:
      name: bridge

рдпрд╛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдмрдврд╝рд╛рдПрдВ

networks:
  bridge:
    external:
      name: bridge
      scope: local

рдФрд░ scope: local рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗрд╡рд▓ рддрднреА рджреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдиреЗрдЯрд╡рд░реНрдХ рдореЛрдб host

рдиреЗрдЯрд╡рд░реНрдХ "рдмреНрд░рд┐рдЬ" рдХреЛ рдмрд╛рд╣рд░реА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рджрд╛рдпрд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ: "рдЭреБрдВрдб" рдХреЗ рдмрдЬрд╛рдп "рд╕реНрдерд╛рдиреАрдп"

рдпрд╛ рдЕрдиреБрдорддрд┐ рджреЗрдВ

networks:
  bridge:
    driver: bridge

рдЕрд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП

рд╕реЗрд╡рд╛ trajano_serv рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рдбреЗрдореЙрди рд╕реЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: рдиреЗрдЯрд╡рд░реНрдХ trajano_bridge рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЭреБрдВрдб рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдУрд╡рд░рд▓реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рдЧрдП рдиреЗрдЯрд╡рд░реНрдХред

рдкреНрд░рдХрд╛рд╢рд┐рдд рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдкрд░ mode: host рдкрд░ред

ports:
- target: 32555
  published: 32555
  protocol: tcp
  mode: host

@trajano рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдЧреИрд░-рдЭреБрдВрдб рд╕реНрдХреЛрдк рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

version: '3.4'

services:
  test:
    image: alpine
    command: top
    ports:
      - target: 32555
        published: 32555
        protocol: tcp
        mode: host
    networks:
      - bridge

networks:
  bridge:
    external:
      name: bridge

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдбреЙрдХрд░ рд╕реНрдЯреИрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЭреБрдВрдб рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛ред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

18 рдорд╛рд░реНрдЪ, 2018 рдХреЛ рд░рд╛рдд 8:55 рдмрдЬреЗ, рдмреНрд░рд╛рдпрди рдЧреЛрдл рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@trajano рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдЧреИрд░-рдЭреБрдВрдб рд╕реНрдХреЛрдк рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рд╕рдВрд╕реНрдХрд░рдг: '3.4'

рд╕реЗрд╡рд╛рдПрдВ:
рдкрд░реАрдХреНрд╖рдг:
рдЫрд╡рд┐: рдЕрд▓реНрдкрд╛рдЗрди
рдЖрджреЗрд╢: рд╢реАрд░реНрд╖
рдмрдВрджрд░рдЧрд╛рд╣:
- рд▓рдХреНрд╖реНрдп: 32555
рдкреНрд░рдХрд╛рд╢рд┐рдд: рейреирелрелрел
рдкреНрд░реЛрдЯреЛрдХреЙрд▓: рдЯреАрд╕реАрдкреА
рдореЛрдб: рд╣реЛрд╕реНрдЯ
рдиреЗрдЯрд╡рд░реНрдХ:
- рдкреБрд▓

рдиреЗрдЯрд╡рд░реНрдХ:
рдкреБрд▓:
рдмрд╛рд╣рд░реА:
рдирд╛рдо: рдмреНрд░рд┐рдЬ
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

рд╣рд╛рдБ, рдореИрдВ рдЗрд╕реЗ рдЭреБрдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ...

рд╕реЛрдо, рдорд╛рд░реНрдЪ 19, 2018 рдХреЛ рд╕реБрдмрд╣ 9:12 рдмрдЬреЗ, рдЖрд░реНрдХрд┐рдорд┐рдбреАрдЬ рдЯреНрд░реИрдЬрд╛рдиреЛ <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдбреЙрдХрд░ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЭреБрдВрдб рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛?
рддреИрдирд╛рдд рдХрд░рдирд╛ред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

18 рдорд╛рд░реНрдЪ 2018 рдХреЛ рд░рд╛рдд 8:55 рдмрдЬреЗ, рдмреНрд░рд╛рдпрди рдЧреЛрдл рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@trajano рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдЧреИрд░-рдЭреБрдВрдб рд╕реНрдХреЛрдк рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рд╕рдВрд╕реНрдХрд░рдг: '3.4'

рд╕реЗрд╡рд╛рдПрдВ:
рдкрд░реАрдХреНрд╖рдг:
рдЫрд╡рд┐: рдЕрд▓реНрдкрд╛рдЗрди
рдЖрджреЗрд╢: рд╢реАрд░реНрд╖
рдмрдВрджрд░рдЧрд╛рд╣:

  • рд▓рдХреНрд╖реНрдп: 32555
    рдкреНрд░рдХрд╛рд╢рд┐рдд: рейреирелрелрел
    рдкреНрд░реЛрдЯреЛрдХреЙрд▓: рдЯреАрд╕реАрдкреА
    рдореЛрдб: рд╣реЛрд╕реНрдЯ
    рдиреЗрдЯрд╡рд░реНрдХ:
  • рдкреБрд▓

рдиреЗрдЯрд╡рд░реНрдХ:
рдкреБрд▓:
рдмрд╛рд╣рд░реА:
рдирд╛рдо: рдмреНрд░рд┐рдЬ
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-374206587 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAwxZsm3OohKL0sqUWhlgUNjCrqR0OaVks5tf67YgaJpZM4Jf2WK
.

--

  • рдмреНрд░рд╛рдпрди рдЧреЛрдлреН

+1

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЙрдХрдЯрд░ рдЭреБрдВрдб рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рд╕рд╛рде 3 рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдирд╛:

рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ <-> nginx рдкреНрд░реЙрдХреНрд╕реА jwilder docker <-> nginx рд╡реЗрдм рд╣реЗрдб рдбреЙрдХрд░

рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдФрд░ рд▓реЙрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЗ рдмрдЬрд╛рдп рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдИрдкреА 10.255.0.3 рд▓реМрдЯрд╛рддреЗ рд░рд╣реЗред

+1

@ cpuguy83 рдпрд╣ рд╣рдорд╛рд░реЗ рдмрдбрд╝реЗ рдЭреБрдВрдб рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реЛрдзрдХ рдмрдирдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╣рдо рдХреНрд▓рд╛рдЙрдб рдХрд╛ рдЕрдзрд┐рдХ рд▓рд╛рдн рдЙрдард╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ (рдЬрд╣рд╛рдВ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ), рд╣рдо рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЦреЛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдИрдЯреАрдП рдХрд╛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ? рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реЗрдЧреАред

@sandys рдПрдХ рдИрдЯреАрдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рд▓рд┐рдП?

@ cpuguy83 рд╣рд╛рдп, рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡реНрдпрд╛рдкрдХ рд╕рд╣рдорддрд┐ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЯреАрдо рдХрд╛ рдХрдмреНрдЬрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдореБрдХреНрдд рдирд╣реАрдВ рд╣реИред
рдЖрдк рдХрдм рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ (рдпрджрд┐ рдмрд┐рд▓реНрдХреБрд▓ рднреА) рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛?

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдХрд░ рдФрд░ PublishMode=host рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд░реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдХрд┐рд╕ рдиреЛрдб рд╕реЗ рдЬреБрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рднреА рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЙрд╕ рдиреЛрдб рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

@kleptog рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣ рд╕реЗрд╡рд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕реЗ рдирд╣реАрдВ рдмрдЪ рд╕рдХрддрд╛ред

рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рджреГрд╢реНрдп - lvs/ipvs рдореЗрдВ рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЗрдВред

  • рдЫрд┐рдкреЗ рд╣реБрдП рдкреНрд░рд╡реЗрд╢ рдХрдВрдЯреЗрдирд░ рдореЗрдВ nsenter рдФрд░ snat рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
  • рдкреНрд░рдХрд╛рд╢рд┐рдд рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛ рдореЗрдВ nsenter, рдбрд┐рдлрд╝реЙрд▓реНрдЯ gw рд╣рдЯрд╛рдПрдВ рдФрд░ рдХрдВрдЯреЗрдирд░ рдЖрдИрдкреА рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВред

рдЕрдм рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рдЕрднреА рднреА рдУрд╡рд░рд╣реЗрдб рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдиреАрддрд┐ рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдкреНрд░рд╡реЗрд╢ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдиреИрдЯ рдирд┐рдпрдо рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдпред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд╛рд╣рдд рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред

рдореЗрд░реЗ рднреЛрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХреЛрдИ ( @dack ?) рдореБрдЭреЗ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдЖрд╣, рдЕрдм рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ред рдПрдХ рдорд▓реНрдЯреАрдиреЛрдб рдЭреБрдВрдб рдореЗрдВ рдЖрдИрдкреА рдХреЛ рдПрд▓рд╡реАрдПрд╕ рдирд┐рджреЗрд╢рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╕рд╣реА рдиреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдЖрдпрд╛ ...

рд╡реИрд╕реЗ рднреА рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рд╣реЛрддрд╛ рддреЛ рдпрд╣ рдореЗрд░рд╛ рдХреБрдЫ рд╕рдордп рдмрдЪрд╛ рд╕рдХрддрд╛ рдерд╛ред рд╢реБрдХреНрд░рд┐рдпрд╛

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреЗрд╢реЛрдВ рдореЗрдВ рддреАрди рдХреНрд▓рд╕реНрдЯрд░ рд╣реЛрдиреЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ Azure рдЯреНрд░реИрдлрд┐рдХ рдореИрдиреЗрдЬрд░ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдЪреНрдЫреЗ рдХреНрд▓рд╕реНрдЯрд░ рдЖрджрд┐ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреЛрдИ рднреА, рдЬрд▓реНрдж рд╣реА рдпрд╛ рдХрднреА рднреА рдЗрд╕ рдкрд░ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛? рдзрдиреНрдпрд╡рд╛рдж

рдЗрд╕ рдкрд░ рдПрдХ рдЕрдкрдбреЗрдЯ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЧреЛрдЪрд╛ рд╣реИ - рдЗрд╕рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдПрдХ рд╣реА рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╛рдордиреЗ рдПрдХ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рдЬреЛрдбрд╝реВрдВ рдФрд░ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдб-рдлреЙрд░ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рднреЗрдЬреВрдВ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЭреБрдВрдб рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-рд╡рд┐рдХрд▓реНрдк рд╣реИ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рдд рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред

@cpuguy83 @trajano
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

version: '3.4'
services:
  nginx:
    ports:
      - mode: host
        protocol: tcp
        published: 80
        target: 80
      - mode: host
        protocol: tcp
        published: 443
        target: 81
networks:
  bridge:
    external:
      name: bridge

рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ network "bridge" is declared as external, but it is not in the right scope: "local" instead of "swarm" ред

рдбреЛрдХрд░ рд╕рдВрд╕реНрдХрд░рдг

Client:
 Version:       18.03.0-ce-rc4
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    fbedb97
 Built: Thu Mar 15 07:33:59 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:08:31 2018
  OS/Arch:      linux/amd64
  Experimental: false

@Mobe91
рдЭреБрдВрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдореБрдЭреЗ рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереАред рд░реА-рдЗрдирд┐рдЯ рдЭреБрдВрдб рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред
рдореЗрд░реА docker-compose.yml рдлрд╝рд╛рдЗрд▓:

version: "3.6"

services:
    nginx:
        image: nginx:latest
        depends_on:
            - my-app
            - my-admin
        ports: 
            - target: 80
              published: 80
              protocol: tcp
              mode: host
            - target: 443
              published: 443
              protocol: tcp
              mode: host
            - target: 9080
              published: 9080
              protocol: tcp
              mode: host
        volumes:
            - /etc/letsencrypt:/etc/letsencrypt:ro
            - /home/project/data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
            - /home/project/data/nginx/conf.d:/etc/nginx/conf.d
            - /home/project/public:/var/public
        networks:
            - my-network
            - bridge
        deploy:
            placement:
                constraints: [node.role == manager]

    my-app:
        image: my-app
        ports:
            - 8080:8080
        volumes:
            - /usr/src/app/node_modules
            - /home/project/public:/usr/src/app/public
        networks:
            - my-network

    my-admin:
        image: my-admin
        ports:
            - 9000:9000
        networks:
            - my-network

networks:
    my-network:
    bridge:
        external: true
        name: bridge

рдореЗрд░рд╛ docker version :

Client:
 Version:   18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:10:01 2018
 OS/Arch:   linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:  18.03.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:    Wed Mar 21 23:08:31 2018
  OS/Arch:  linux/amd64
  Experimental: false

рдореЗрд░реА рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

@ Mobe91 рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдореИрдВ "рдкреЛрд░реНрдЯреЗрдирд░" рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рд╕реЗ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗ рдареАрдХ рд╕реЗ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

version: '3.4'
services:
  hath:
    image: trajano.net/hath
    deploy:
      placement:
        constraints:
        - node.hostname==docker-engine
    networks:
    - host
    ports:
    - target: 12555
      published: 12555
      protocol: tcp
      mode: host
    secrets:
    - hath_client_login
    volumes:
    - hath:/var/lib/hath
volumes:
  hath:
    name: 'noriko/s/hath'
    driver: cifs
networks:
  host:
    external:
      name: host
secrets:
  hath_client_login:
    external:
      name: hath_client_login

рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ host рдмрдЬрд╛рдп bridge рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рд╡реАрдПрдо рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рд░рд╛рдЙрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдирдПрдЯреА рд░реВрдЯрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЖрдИрдкреА рдХреЛ рд╕рднреА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдмрд░реНрддрдиред

рдмреЗрд╢рдХ рдХреЛрдИ рднрд╛рд░ рд╕рдВрддреБрд▓рди рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд▓реЛрдб рд╕рдВрддреБрд▓рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдПрд▓ 3 рд░рд╛рдЙрдЯрд░ рдХреА рддрд░рд╣ рдХреБрдЫ рд╕рд╛рдордиреЗ рд░рдЦрдирд╛

@trajano рд╕рд╣реА рд╣реИ, рд╡рд┐рдВрдбреЛрдЬ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдорд╕реНрдпрд╛ рдереА, рд▓рд┐рдирдХреНрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рддреИрдирд╛рддреА рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЖрдкрдХреЛ host рдпрд╛ bridge рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдореБрдЭреЗ nginx рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ IP рдкрддреЗ рдорд┐рд▓рддреЗ рд╣реИрдВ:

version: '3.4'
services:
  nginx:
    ports:
      - mode: host
        protocol: tcp
        published: 80
        target: 80

@ Mobe91 рдзрдиреНрдпрд╡рд╛рдж рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдорддрд▓рдм рдерд╛ред рдореВрд▓ рд░реВрдк рд╕реЗ https://github.com/moby/moby/issues/32957 рдХреЗ рд╕рд╛рде рдЯрд╛рдИ

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рд╕рд┐рд▓рд┐рдпрдо рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ? http://cilium.readthedocs.io/en/latest/gettingstarted/docker/ ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрд╛рдВрдзреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@sandys рдЕрдЪреНрдЫрд╛ рдЦреЛрдЬ - рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рддреЛ рдореИрдВ рдЕрдкрдиреЗ рдЭреБрдВрдб рд╕реЗ nginx рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ .....

рд╣рдордиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдкрд┐рдирд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рддреИрдирд╛рддреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рдЗрд╕реЗ рдорд╛рд░рд╛ (рдЬреЛ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдЙрдк-рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ "рдкрд┐рдХ рдЕрдк" рдХрд░рддрд╛ рд╣реИ)ред

рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдХреЗ рдФрд░ mode = global рд╕реЗрдЯ рдХрд░рдХреЗ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдПрдХ рд░рдирд┐рдВрдЧ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдорд┐рд▓реЗред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╣рдо рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдб рдЦреЛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╣рдорд╛рд░реЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХрд▓ рд╣реЛрд╕реНрдЯ рдкрд░ рдкрд┐рди рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

@sandys рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╕рд┐рд▓рд┐рдпрдо рдХреА рдХреЛрд╢рд┐рд╢ рдХреА? рд╡реАрд╡ рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо k8s рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: https://github.com/kubernetes/kubernetes/issues/51014

рдореИрдВ рд╕рд┐рд▓рд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд▓рд┐рдпрдо рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реВрдВ
рдЭреБрдВрдб рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрд╡ред рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд▓рд┐рдпрдо рдХреЛ рд▓реЗрдХрд░ рдХрд╛рдлреА рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВ
рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╡реЗрд╢ рдПрдХ рдШреЛрд╖рд┐рдд рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ (рдмреБрдирд╛рдИ рдХреЗ рд╡рд┐рдкрд░реАрдд)

рдЧреБрд░реБ резреж рдордИ, реирежрезрео рдХреЛ резрен:реирек рдЬреЗрдореНрд╕ рдЧреНрд░реАрди, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдкрд┐рди рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рдЗрд╕реЗ рд╣рд┐рдЯ рдХрд┐рдпрд╛
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдЬрдмрд╛рди (рдЬреЛ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ
рдХрд╛рд░рдг рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдмрд╛рдпрдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ "рдкрд┐рдХ рдЕрдк" рдХрд░реЗрдВ)ред

рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдХреЗ рд╣реА рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдмрд╛рдзрд╛ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ рдореЛрдб = рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдПрдХ рдорд┐рд▓ рдЬрд╛рдП
рдЪрд▓ рдЙрджрд╛рд╣рд░рдгред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рд╣реИ,
рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╣рдо рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдб рдЦреЛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╣рдорд╛рд░реЗ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ
рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рддред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХрд▓ рд╣реЛрд╕реНрдЯ рдкрд░ рдкрд┐рди рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

@sandys https://github.com/sandys рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╕рд┐рд▓рд┐рдпрдо рдХреА рдХреЛрд╢рд┐рд╢ рдХреА? рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ
рдмреБрдирд╛рдИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо k8s рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ:
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕/рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕#51014
https://github.com/kubernetes/kubernetes/issues/51014

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-388032011 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUzQCgIeTenQIHIERxOfHKCzn1O6Aks5txCpogaJpZM4Jf2WK
.

10-рдордИ-2018 17:24 рдХреЛ, "рдЬреЗрдореНрд╕ рдЧреНрд░реАрди" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдкрд┐рди рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рдЗрд╕реЗ рд╣рд┐рдЯ рдХрд┐рдпрд╛
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдЬрдмрд╛рди (рдЬреЛ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ
рдХрд╛рд░рдг рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдмрд╛рдпрдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ "рдкрд┐рдХ рдЕрдк" рдХрд░реЗрдВ)ред

рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдХреЗ рд╣реА рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдмрд╛рдзрд╛ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ рдореЛрдб = рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ
рдЙрджрд╛рд╣рд░рдгред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐
рд╣рдо рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдб рдЦреЛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╣рдорд╛рд░реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЙрд╕ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХрд▓ рд╣реЛрд╕реНрдЯ рдкрд░ рдкрд┐рди рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

@sandys https://github.com/sandys рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╕рд┐рд▓рд┐рдпрдо рдХреА рдХреЛрд╢рд┐рд╢ рдХреА? рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ
рдмреБрдирд╛рдИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо k8s рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ:
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕/рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕#51014
https://github.com/kubernetes/kubernetes/issues/51014

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-388032011 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUzQCgIeTenQIHIERxOfHKCzn1O6Aks5txCpogaJpZM4Jf2WK
.

  • 1

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,
рдпрджрд┐ рдЖрдк рд╕рд┐рд▓рд┐рдпрдо рдореЗрдВ рдбреЙрдХрд░ рдЭреБрдВрдб рдХрд╛ рд╕рдорд░реНрдерди рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдФрд░
рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕), рдХреГрдкрдпрд╛ рдЗрд╕ рдмрдЧ рдкрд░ рдЯрд┐рдкреНрдкрдгреА/рдкрд╕рдВрдж рдХрд░реЗрдВ -
https://github.com/cilium/cilium/issues/4159

рд╢реБрдХреНрд░, 11 рдордИ, 2018 рдХреЛ рджреЛрдкрд╣рд░ 12:59 рдмрдЬреЗ, рдореИрдХрдмреИрдХрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

>

  • 1

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-388159466 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU_18F_cNttRUaAwaRF3gVpMZ-3qSks5txJUfgaJpZM4Jf2WK
.

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
рдореИрдВ рдлрд┐рд░ рдЭреБрдВрдб рдореЗрдВ рдЕрдиреНрдп рдиреЛрдбреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 'рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рднреА рд╣реИ

  web-server:
    image: blabla:7000/something/nginx:latest
    #ports:
    #  - "80:80"
    #  - "443:443"
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
      - target: 443
        published: 443
        protocol: tcp
        mode: host        
    deploy:
      mode: global
      restart_policy:
        condition: any
      update_config:
        parallelism: 1
        delay: 30s

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреБрдВрдЬреА ports.mode: host ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ (https://docs.docker.com/compose/compose-file/#long-syntax-1):

рдореЛрдб: рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдПрдХ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ, рдпрд╛ рдПрдХ рдЭреБрдВрдб рдореЛрдб рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрддреБрд▓рд┐рдд рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ред

рдлрд┐рд░, mode: host рдмрдВрдж рдХрд░рдХреЗ рд▓реЛрдб рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдореЗрд░реЗ nginx рд▓реЙрдЧ рд╣реИрдВ:

  • mode: host
    metrics-agents_nginx.1.pip12ztq3y1h<strong i="14">@xxxxxxxx</strong> | 62.4.X.X - - [12/Jun/2018:08:46:04 +0000] "GET /metrics HTTP/1.1" 200 173979 "-" "Prometheus/2.2.1" "-" [CUSTOM] "request_time: 0.227" remote_addr: 62.4.X.X proxy_add_x_forwarded_for: 62.4.X.X
  • рдмрд┐рдирд╛ mode: host
    metrics-agents_nginx.1.q1eosiklkgac<strong i="20">@xxxxxxxx</strong> | 10.255.0.2 - - [12/Jun/2018:08:50:04 +0000] "GET /metrics HTTP/1.1" 403 162 "-" "Prometheus/2.2.1" "-" [CUSTOM] "request_time: 0.000" remote_addr: 10.255.0.2 proxy_add_x_forwarded_for: 10.255.0.2

рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рд▓реЙрдЧ 403 рдирд┐рд╖рд┐рджреНрдз рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрдпреЛрдВ рд╣реИ, рддреЛ рдпрд╣ nginx ( allow 62.4.X.X рдФрд░ deny all ) рдкрд░ рдПрдХ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИред

рд╕рдВрджрд░реНрдн:
Description: Debian GNU/Linux 9.4 (stretch)
Docker version 18.03.0-ce, build 0520e24

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐
рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 18.03.1-рд╕реАрдИ, 9ee9f40 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рдЙрдмрдВрдЯреВ 16.04.4 рдПрд▓рдЯреАрдПрд╕

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 18.03.1-рд╕реАрдИ, 9ee9f40 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рдЙрдмрдВрдЯреВ 16.04.4 рдПрд▓рдЯреАрдПрд╕

рдЪреЗрддрд╛рд╡рдиреА: рдпрджрд┐ рдЖрдкрдиреЗ IPTABLES=FALSE рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛!
рдЖрдкрдиреЗ рдпрд╣ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдореИрдВрдиреЗ рдХрд┐рдпрд╛) рдпрджрд┐ рдЖрдк рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдПрдлрдбрдмреНрд▓реНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрди рдпреВрдПрдлрдбрдмреНрд▓реНрдпреВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЭреБрдВрдб рдкрд╛рдпрд╛ рд╣реИред

рдЖрд╕-рдкрд╛рд╕ рдХреБрдЫ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИрдВ рдЬреЛ iptables = false рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ /etc/docker/daemon.json рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдЙрд╕ рдирд┐рд░рд╛рд╢рд╛ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЕрднреА-рдЕрднреА рдЧреБрдЬрд╝рд░рд╛ рд╣реВрдБ!

рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдореЛрдб: рд╣реЛрд╕реНрдЯ" = рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдЗрдирдЧреНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЭреБрдВрдб рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реЛрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╣реЛрд╕реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдпрд╛ рддреЛ рд╕реЗрд╡рд╛ рдХреЛ "рдЧреНрд▓реЛрдмрд▓" рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕ рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╣ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЭреБрдВрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИред

TLDR: "рдореЛрдб: рд╣реЛрд╕реНрдЯ" рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ

@ r3pek рдЬрдмрдХрд┐ рдореИрдВ рдЗрдирдЧреНрд░реЗрдб рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЭреБрдВрдб рдХреЗ рдкреВрд░реЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╢рд╛рдпрдж рд╣реА рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдУрд╡рд░рд▓реЗ рдЭреБрдВрдб рд╣реИ:
рдкреНрд░рдмрдВрдзрди рдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП -> рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓рд░ рдХреЗ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ "рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдкреНрд░рд╡реЗрд╢ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВред
рдЧреИрд░-рдЙрдЬрд╛рдЧрд░ рдХрдВрдЯреЗрдирд░ -> рдЗрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ (рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреЗ рд╕реЗрд╡рд╛ рдирд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХ рд░рд╣реЗ рд╣реИрдВ)ред
рдкрдмреНрд▓рд┐рдХ рдлреЗрд╕рд┐рдВрдЧ рд╕рд░реНрд╡рд┐рд╕ -> рдпрд╣ рдПрдХ nginx рдкреНрд░реЙрдХреНрд╕реА рд╣реИ рдЬреЛ https рдФрд░ url рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ рдХрд░рддреА рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЕрд╕рд▓реА рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

nginx рд╡реИрд╢реНрд╡рд┐рдХ рд╣реЛрдиреЗ рдФрд░ рдкреНрд░рд╡реЗрд╢ рди рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХрд┐рд╕реА рднреА рдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрддреБрд▓рд┐рдд рдпрд╛ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБ рд▓реЛрдб рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ nginx рдХреЗ рд╕рд╛рдордиреЗ L4 Azure рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╕реНрддрд╛ рдФрд░ рдЖрд╕рд╛рди рдЬреЛрдбрд╝рд╛ред рд╕реЗрд╡рд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рд╣реЛрд╕реНрдЯ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ, рдереЛрдбрд╝рд╛ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдЖрдИрдПрдордУ рд╣реИред

рд╣рд╛рдп рд░реЙрдмрд░реНрдЯреЛ
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рд╣реЛрд╕реНрдЯ рдореЛрдб рдПрдХрд▓ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ
рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрди рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рддреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ
рдЭреБрдВрдб рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕рдВрддреБрд▓рдиред

рдпрд╣ рдХрд╣рдХрд░ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ azure lb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдкрдиреЗ рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рджреА рд╣реИ
рддрд░реНрдХред

рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ рдХрд┐ "рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкреНрд░рд╕рд╛рд░ рдХреЗ рд╕рд╛рде рдЭреБрдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ...рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ"ред

рд╣рдо рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ...рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛрдЧрд╛
рдЭреБрдВрдб рдХреЗ рд╡рд╛рджреЗ рдХреА рдЕрдирджреЗрдЦреА рдЕрдЧрд░ рд╣рдо рд╕рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ
рдХрдореА

рдЧреБрд░реБ, рел рдЬреБрд▓рд╛рдИ, реирежрезрео, резрек:резрем рд░реЙрдмрд░реНрдЯреЛ рдлреИрдмреНрд░реАрдЬрд╝реА рдкрд░, рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@r3pek https://github.com/r3pek рдЬрдмрдХрд┐ рдореИрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЖрдк рд╣рд╛рд░ рдЧрдП
рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣
рдЭреБрдВрдб рдХреЗ рдкреВрд░реЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╢рд╛рдпрдж рд╣реА рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдХрд░рддрд╛ рд╣реИ рдХрд┐ a
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХред рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╣реИ
рдУрд╡рд░рд▓реЗ рдЭреБрдВрдб:
рдкреНрд░рдмрдВрдзрди рдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдКрдкрд░ рддрдХ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ -> рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓рд░ рдХреЗ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
"рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ" рдФрд░ рдкреНрд░рд╡реЗрд╢ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВред
рдЧреИрд░-рдЙрдЬрд╛рдЧрд░ рдХрдВрдЯреЗрдирд░ -> рдЗрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ (рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЖрдк рд╣реИрдВ
рдЙрдирдХреА рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрдирд╛
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд╛рдо)ред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░ -> рдпрд╣ рдПрдХ nginx рдкреНрд░реЙрдХреНрд╕реА рд╣реИ рдЬреЛ https рдФрд░ url рдХрд░рддрд╛ рд╣реИ
рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧред рдЗрд╕реЗ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдб-рдлреЙрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╡реИрд╢реНрд╡рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдЕрд╕рд▓реА рдЖрдИрдкреА, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

nginx рд╡реИрд╢реНрд╡рд┐рдХ рд╣реЛрдиреЗ рдФрд░ рдкреНрд░рд╡реЗрд╢ рди рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ
рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХрд┐рд╕реА рднреА рдЖрдИрдкреА, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрддреБрд▓рд┐рдд рд▓реЛрдб рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рдмрд╣реБрдд рдЬреЛрдбрд╝рд╛
Nginx рдХреЗ рд╕рд╛рдордиреЗ L4 Azure рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ рдФрд░ рдЖрд╕рд╛рди
рд╕реЗрд╡рд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рд╣реЛрд╕реНрдЯ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛
рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ рдереЛрдбрд╝рд╛ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдЖрдИрдПрдордУред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-402650066 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU_ogRzwM6X0PMknXxsxmZLLTtfraks5uDdJlgaJpZM4Jf2WK
.

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд░рд╛рдм рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ (рдЖрдИрдкреАрд╡реАрдПрд╕) рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо L4 рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рддреЛ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреАред рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ L4 (TCP) рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╣реЛрдЧрд╛ рдЬреЛ L7 lb рджреЗ рд╕рдХрддрд╛ рд╣реИред

Kubernetes рдореЗрдВ L4(TCP)-L7(HTTP) рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рд╣реИрдВ рдЬреИрд╕реЗ nginx ingress , L4 рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпрд╛ L7 HTTP рд╣реЗрдбрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ X-Forwarded-For рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЖрдИрдкреАред

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреНрдпрд╛ рдХрд╣реЗрдВрдЧреЗред рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ https://github.com/docker/swarmkit/issues рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛?

Kubernetes рдореЗрдВ L4 (TCP) -L7 (HTTP) рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╣реИрдВ рдЬреИрд╕реЗ nginx ingress, haproxy ingress рдЬреЛ рджреЛрдиреЛрдВ L4 рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпрд╛ L7 HTTP рд╣реЗрдбрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП X-Forwarded-For рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмреИрдХрдПрдВрдб рдХреЛред

AFAICS, рдЙрди LB рд╕реЗрд╡рд╛рдУрдВ рдХреЛ K8s рдореЗрдВ рдПрдореНрдмреЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реА рд╕реЗрд╡рд╛рдПрдБ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ nginx рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред)

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдРрд╕реА рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рднреА рдЗрд╕реЗ рд╕реНрд╡рд╛рд░реНрдордХрд┐рдЯ рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд░ рд╕реЗ 'рдХреЙрд▓' рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЖрдИрдкреА рдХреЛ рдЦреЛ рджреЗрдВрдЧреЗред рддреЛ рдпрджрд┐ рдЖрдк рд╣реЛрд╕реНрдЯрдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕реНрд╡рд╛рд░реНрдордХрд┐рдЯ рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдирд╛ - k8s рдореЗрдВ, рдХрд╕реНрдЯрдо рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЭреБрдВрдб рдореЗрдВ рдпрд╣
рдирд╣реАрдВ рд╣реИред

рдЭреБрдВрдб рд╕реНрдЯреИрдВрдб рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд" рд╣реИред рдРрд╕рд╛ рд╣реА рдХреБрдЫ рдХрд╛ рднреА рд╣реИ
рдиреЗрдЯрд╡рд░реНрдХ - k8s рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рдЭреБрдВрдб рдореЗрдВ рдмреБрдирд╛рдИ рдЖрджрд┐ рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рддреЛ рдПрдВрдбреНрд░реА рдЬреЛ рдмрд┐рдВрджреБ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ) рд╡рд╣ рд╣реИ -
рдЭреБрдВрдб рдХреЛ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╣реИ
рдЙрд╕ рдкрд░ рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВред

рд╢рдирд┐рд╡рд╛рд░, 28 рдЬреБрд▓рд╛рдИ, 2018 рдХреЛ рд╢рд╛рдо 5:07 рдмрдЬреЗ рд╕реЗрдЯреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рддреИрдирд╛рддреА рдХрд░рддреЗ рд╣реИрдВ рддреЛ
рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдЗрд╕реЗ рд╕реНрд╡рд╛рд░реНрдордХрд┐рдЯ рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд░ рд╕реЗ 'рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛'
рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рддреЛ рдЖрдк рдЭреБрдВрдбрдХрд┐рдЯ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд░ рдпрджрд┐ рд╣реЛрд╕реНрдЯрдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-408601274 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU1-Ism_S1Awml8lO8N0Aq6rtrLH4ks5uLEzugaJpZM4Jf2WK
.

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЭреБрдВрдб рдЭреБрд░реНрд░рд┐рдпреЛрдВ рдХреЛ рдЗрд╕реНрддреНрд░реА рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдо рдордВрдЪ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рднреА рдмрд╛рд╣рд░реА рдкрд╣реБрдВрдЪ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдИрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред

рдореИрдВ рд╕рд┐рдВрдЧрд▓-рдиреЛрдб рдЭреБрдВрдб рдкрд░ рдЕрдкрдирд╛ рд╕реНрдЯреИрдХ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдЕрдЧрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рддрдХ рдРрд╕рд╛ рдХрд░рддрд╛ рд░рд╣реВрдВрдЧрд╛ред рдХреНрдпрд╛ рдЖрдк рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди (рдПрдХрд▓-рдиреЛрдб рдЭреБрдВрдб) рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЦрд░рд╛рдм рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ - рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдХреБрдЫ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рд╣рдорд╛рд░рд╛ рдЕрд╕реНрдерд╛рдпреА рджреГрд╖реНрдЯрд┐рдХреЛрдг "рд╡реИрд╢реНрд╡рд┐рдХ" рдореЛрдб рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рд╛ рд╣реИ (рдЬрд┐рд╕реЗ рдЖрдИрдЖрдИрдЖрд░рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдирдЖрдИрд╕реА рдХрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЙрдХреНрд╕реА рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдЭреБрдВрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЪрд▓ рд░рд╣реА рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХреНрд╕-рдлрд╝реЙрд░рд╡рд░реНрдб-рд╣реЗрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рдЙрд╕ рд╕реЗрдЯрдЕрдк рдХреЛ AFAICT рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдзрдиреНрдпрд╡рд╛рдж, @maximelbред рдЖрдк рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдЬрд╛ рд░рд╣реЗ рдереЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, nginx, haproxy)?

@jamiejackson рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЪреАрдЬреЗрдВ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реЛрдВрдЧреАред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдПрдХ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрд╕рдПрд▓ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдПрдХ рдХрд╕реНрдЯрдо рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ HTTP рдкреНрд░реЙрдХреНрд╕реА рд╕рдВрднрд╡ рди рд╣реЛред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯреАрд╕реАрдкреА рдлрд╛рд░рд╡рд░реНрдбрд░ рдмрдирд╛рдпрд╛ рдФрд░ рдПрдХ "msgpack" рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдирдкреИрдХ рдХрд░ рд╕рдХрддреЗ рдереЗред

рдореИрдВ HTTP рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрддрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдЪрд╛рд▓ рдЪрд▓реЗрдВрдЧреЗред :-/

рд╣рд╛рдп рдореИрдХреНрд╕рд┐рдо,
рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ docker-compose рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореЛрдХрд╛ ?

рдореИрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ nginx рд╣реИ
рдкреНрд░реЙрдХреНрд╕реА (рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХрдИ рдбреЙрдХрдЯрд░ рд╕реЗрд╡рд╛рдПрдВред

рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рдХреНрдпрд╛ nginx "рдЧреНрд▓реЛрдмрд▓ рдореЛрдб" рдкреНрд░реЙрдХреНрд╕реА рдмрди рдЬрд╛рддрд╛ рд╣реИ? рдпрд╛ рдпрд╣ рдПрдХ рд╣реИ
рд╡рд┐рд╢реЗрд╖ рдЯреАрд╕реАрдкреА рдлрд╛рд░рд╡рд░реНрдбрд░ред рдЗрд╕рд▓рд┐рдП рдЬреИрд╕реЗ рд╣реА рдЖрдк рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рдкреНрд░реЙрдХреНрд╕реА рдлрд╛рд░рд╡рд░реНрдбрд░
рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реЛрдЪрд╛ рдХрд┐ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реЗрдбрд░ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ .. рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ
(рдЪреВрдВрдХрд┐ рдХреЛрдИ рдкреНрд░реЙрдХреНрд╕реА-рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╣реАрдВ рд╣реИ)ред

рдпрджрд┐ рдЖрдк рдХреБрдЫ рдФрд░ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред

рд╕рд╛рджрд░
рд╕рдВрджреАрдк

рдмреБрдз, рдЕрдЧрд╕реНрдд рео, реирежрезрео рдХреЛ рд╕реБрдмрд╣ рен:резрео рдмрдЬреЗ рдореИрдХреНрд╕рд┐рдореЗ рд▓реИрдореЛрдереЗ-рдмреНрд░рд╛рд╕рд░реНрдб <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рд╣рдорд╛рд░рд╛ рдЕрд╕реНрдерд╛рдпреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рд╛ рд╣реИ
"рд╡реИрд╢реНрд╡рд┐рдХ" рдореЛрдб (рдЬрд┐рд╕реЗ IIRC рд╡рд╛рд╕реНрддрд╡рд┐рдХ NIC рдХрд╛ IP рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдЭреБрдВрдб рдкрд░ рдЪрд▓ рд░рд╣реА рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВ
рдЬреЛрдбрд╝реЗ рдЧрдП рдкреНрд░реЙрдХреНрд╕реА рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХред

рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП x-рдлрд╝реЙрд░рд╡рд░реНрдб-рдлрд╝реЙрд░ рд╣реЗрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рд╡рд╣ рд╕реЗрдЯрдЕрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
AFAICT рдХрд╛рдо рдХрд░реЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-411257087 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUx3DOjXb79FNjsuZ-RZVqkkhHAbYks5uOkOHgaJpZM4Jf2WK
.

@sandys рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ

рдпрд╣ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдПрдВрдЯреНрд░реА рд╣реИ:

reverseproxy:
    image: yourorg/repo-proxy:latest
    networks:
      - network_with_backend_service
    deploy:
      mode: global
    ports:
      - target: 443
        published: 443
        protocol: tcp
        mode: host

рдпрд╣ рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ:

backendservice:
    image: yourorg/repo-backend:latest
    networks:
      - network_with_backend_service
    deploy:
      replicas: 2

рд░рд┐рд╡рд░реНрд╕рдкреНрд░реЙрдХреНрд╕реА (рдмреИрдХрдПрдВрдб рд╕рд╛рдЗрдб) рдХрд╛ рд▓рдХреНрд╖реНрдп tasks.backendservice (рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдП рд░рд┐рдХреЙрд░реНрдб рд╣реИ)ред рдпрджрд┐ рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЭреБрдВрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣реИ, рддреЛ рдЖрдк networks рднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

global рдмрд┐рдЯ рдХрд╣рддрд╛ рд╣реИ "рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╣рд░ рдбреЙрдХрд░ рдЭреБрдВрдб рдиреЛрдб рдкрд░ рдмрд┐рд▓реНрдХреБрд▓-рдПрдХ рдмрд╛рд░ рддреИрдирд╛рдд рдХрд░реЗрдВред рдкреЛрд░реНрдЯ mode: host рд╡рд╣ рд╣реИ рдЬреЛ "рдиреЛрдб рдХреЗ рдореВрд▓ рдПрдирдЖрдИрд╕реА рд╕реЗ рдмрд╛рдВрдзрддрд╛ рд╣реИ"ред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреАред

рдЖрдк рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╣реИ
рдкреВрд░реА рдмрд╛рдд рдХреЗ рд╕рд╛рдордиреЗред
рдЖрдк рдЕрдм рдЭреБрдВрдб рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдХреБрдЫ рд╕рдордп рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ :(

рдмреБрдзрд╡рд╛рд░ рдХреЛ, 8 рдЕрдЧрд╕реНрдд, 2018, 20:47 рдореИрдХреНрд╕рд┐рдореЗ рд▓реИрдореЛрдереЗ-рдмреНрд░рд╛рд╕рд╛рд░реНрдб, <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

@sandys https://github.com/sandys рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рд╕реЗ рдПрдХ рдЕрдВрд╢ рд╣реИ
docker-compose рд╕рдВрдмрдВрдзрд┐рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рдеред

рдпрд╣ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдПрдВрдЯреНрд░реА рд╣реИ:

рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА:
рдЫрд╡рд┐: yourorg/repo- рдкреНрд░реЙрдХреНрд╕реА: рдирд╡реАрдирддрдо
рдиреЗрдЯрд╡рд░реНрдХ:
- network_with_backend_service
рддреИрдирд╛рддреА:
рдореЛрдб: рд╡реИрд╢реНрд╡рд┐рдХ
рдмрдВрджрд░рдЧрд╛рд╣:
- рд▓рдХреНрд╖реНрдп: 443
рдкреНрд░рдХрд╛рд╢рд┐рдд: 443
рдкреНрд░реЛрдЯреЛрдХреЙрд▓: рдЯреАрд╕реАрдкреА
рдореЛрдб: рд╣реЛрд╕реНрдЯ

рдпрд╣ рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ:

рдмреИрдХрдПрдВрдбрд╕реЗрд╡рд╛:
рдЫрд╡рд┐: yourorg/repo- рдмреИрдХрдПрдВрдб: рдирд╡реАрдирддрдо
рдиреЗрдЯрд╡рд░реНрдХ:
- network_with_backend_service
рддреИрдирд╛рддреА:
рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ: 2

рд░рд┐рд╡рд░реНрд╕рдкреНрд░реЙрдХреНрд╕реА (рдмреИрдХрдПрдВрдб рд╕рд╛рдЗрдб) рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реЛрдЧрд╛
task.backendservice (рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП A рд░рд┐рдХреЙрд░реНрдб рд╣реИ)ред рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрджрд┐ рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЭреБрдВрдб рдкрд░ рд╣реИ рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ
рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХред

рд╡реИрд╢реНрд╡рд┐рдХ рдмрд┐рдЯ рдХрд╣рддрд╛ рд╣реИ "рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╣рд░ рдбреЙрдХрдЯрд░ рдкрд░ рдПрдХ рдмрд╛рд░ рддреИрдирд╛рдд рдХрд░реЗрдВ
рдЭреБрдВрдб рдиреЛрдбред рдкреЛрд░реНрдЯ рдореЛрдб: рд╣реЛрд╕реНрдЯ рд╡рд╣ рд╣реИ рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реИ "рджреЗрд╢реА рд╕реЗ рдЬреБрдбрд╝реЗрдВ"
рдиреЛрдб рдХрд╛ рдПрдирдЖрдИрд╕реА"ред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреАред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-411442155 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU8N7KAFtOp_cPO8wpbBQqzDfpBWOks5uOwEkgaJpZM4Jf2WK
.

рдЖрдкрдХреЗ рдорддрд▓рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рд╣рдо рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб A рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╛рд╣рд░реА рдЧрддрд┐рдорд╛рди рднрд╛рдЧ рдХреЗ рдмрд┐рдирд╛ рд╕рд╕реНрддрд╛ "рд╕рдВрддреБрд▓рди" рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдП рд░рд┐рдХреЙрд░реНрдб рдЪреБрдирд╛, рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ 443 рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ред

рд╡рд╣рд╛рдВ, рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдЬреЛ рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдб рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ 443 рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рд╕рд╣рд┐рдд рдПрдХ рдореВрд▓ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдлрд┐рд░ рдПрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЭреБрдВрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ (рдЯрд╛рд╕реНрдХ.рдмреИрдХрдПрдВрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреВрд╕рд░реЗ рдЖрдВрддрд░рд┐рдХ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдмреИрдХрдПрдВрдб рд▓рдХреНрд╖реНрдп, рдЗрд╕реЗ рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдП рд░рд┐рдХреЙрд░реНрдб рднреА рдорд┐рд▓реЗрдЧрд╛ред

рддреЛ рд╕рдЦреНрдд рдЕрд░реНрдереЛрдВ рдореЗрдВ, рдпрд╣ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЬрд╛рджреВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдкреНрд░рднрд╛рд╡ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЬрд╛рджреВ рдХреЗ рд╕рдорд╛рди (рдвреАрд▓реЗ рдЕрд░реНрде рдореЗрдВ) рд╣реИред рдпрд╣ рдЭреБрдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рднреА рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреА рд╕рднреА рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдХрд┐рдП рдмрд┐рдирд╛ред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдХреЛрдИ рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдХрднреА рднреА) рдпрд╣ рдЖрдкрдХреЛ рдмрд╛рд╣рд░реА рдШрдЯрдХреЛрдВ рдпрд╛ рдкреНрд░рдореБрдЦ рдбреЙрдХрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

@jamiejackson "рдХрдо рд╕реЗ рдХрдо рдЦрд░рд╛рдм" рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣рдордиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдореЗрдЬрдмрд╛рди рдореЛрдб рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрдирдХреЗ рдкрд╛рд╕ рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛
https://github.com/containous/traefik/issues/1880

рдЙрдореНрдореАрдж рд╣реИ рдпреЗ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рдо рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрд░реЛрдзрдХрд░реНрддрд╛ рдЖрдИрдкреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдХреБрдЫ рдмрджрд▓ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ рддрдм рддрдХ рд╣рдо рдЗрд╕ рдХреНрд▓рдЬ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдП рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

рд╕рдордЭрд╛ (рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рдвреАрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ - рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдмрдЧ 'рдПрдЬреЗрдВрдбрд╛ рджреЗрд╡реЛрдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирд╛ рдерд╛
рдЗрд╕реЗ рдЬрд╛рджреБрдИ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рд╢рд╛рдпрдж рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпрд╛ рдЕрдиреНрдп рддрдВрддреНрд░)

рдмреБрдз, 8 рдЕрдЧрд╕реНрдд, 2018, 21:22 рдореИрдХреНрд╕рд┐рдо рд▓реИрдореЛрдереЗ-рдмреНрд░рд╛рд╕рд╛рд░реНрдб, < . рдкрд░
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдкрдХреЗ рдорддрд▓рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рд╣рдо A . рдХреЗ рд╕рд╛рде DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рд░рд┐рдХреЙрд░реНрдбред рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╕реНрддрд╛ "рд╕рдВрддреБрд▓рди" рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рдмрд╛рд╣рд░реА рдЧрддрд┐рдорд╛рди рднрд╛рдЧред рдЬрдм рдХреЛрдИ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ A . рдЪреБрдирд╛
рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ, рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдкрд░ 443 рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рд╡рд╣рд╛рдВ, рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдб рдкрд░ рдЪрд▓ рд░рд╣реЗ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдФрд░
443 рдкрд░ рд╕реБрдирдиреЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рд╕рд╣рд┐рдд рдПрдХ рдореВрд▓ рдХрдиреЗрдХреНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИред
рд╡рд╣ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдлрд┐рд░ рдПрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реИ
рдЭреБрдВрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдЖрдВрддрд░рд┐рдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП
(рдХрд╛рд░реНрдпред рдмреИрдХрдПрдВрдб)ред рдЪреВрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдмреИрдХрдПрдВрдб рд▓рдХреНрд╖реНрдп, рдЗрд╕реЗ рднреА рдорд┐рд▓реЗрдЧрд╛
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреЙрд░реНрдбред

рддреЛ рд╕рдЦреНрдд рдЕрд░реНрдереЛрдВ рдореЗрдВ, рдпрд╣ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЬрд╛рджреВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐
рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ
рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдПрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдкреНрд░рднрд╛рд╡ рд╡рд╣реА рд╣реИ (рдореЗрдВ a
рд▓реВрдЬ рд╕реЗрдВрд╕) рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЬрд╛рджреВ рдХреЗ рд░реВрдк рдореЗрдВред рдореЗрдВ рднреА рдХрд░рддрд╛ рд╣реИ
рдЭреБрдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреА рдЕрдиреНрдп рд╕рднреА рд╕реЗрд╡рд╛рдПрдБ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдБ рдЬреЛ
рдмрд┐рдирд╛ рдХреБрдЫ рдХрд┐рдП рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
рдФрд░ рдЙрди рдХреЗ рд▓рд┐рдПред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдХреЛрдИ рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдХрднреА рд╣реЛ) рдпрд╣ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдЖрдк рдмрд╛рд╣рд░реА рдШрдЯрдХреЛрдВ рдпрд╛ рдкреНрд░рдореБрдЦ рдбреЙрдХрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-411455384 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU5RKjGc3hEk6bk-doicDa1MbYGAyks5uOwlIgaJpZM4Jf2WK
.

рдЯреАрдмреАрдПрдЪ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдИрдкреА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреИрдЪ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдбреЗрдЯрд╛ред

рдпрд╣ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╣реИ, рдпрд╣ рдореМрдЬреВрджрд╛ рдвреЗрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝реЗрдЧрд╛, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ
рдорд╛рдирдХ, рдпрд╣ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЙрдб рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдпрд╣ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╣реИ
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдврд╛рдВрдЪреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рддред

рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рджреЗрд╡ рдкреНрд░рдпрд╛рд╕ рд╣реИ?

рдмреБрдз, 8 рдЕрдЧрд╕реНрдд, 2018, 21:30 рдореИрдЯ рдЧреНрд▓реЗрд╕рд░ рдкрд░, [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

@jamiejackson https://github.com/jamiejackson "рдХрдо рд╕реЗ рдХрдо рдЦрд░рд╛рдм"
рд╣рдордиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ Traefik рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг рд╣реИ
https://docs.traefik.io/user-guide/cluster-docker-consul/#full-docker-compose-file_1 ред
рд╣рдордиреЗ рдХреБрдЫ рдмрдЧ рджреЗрдЦреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реЗрдЯрдЕрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди
рдЯреНрд░реИрдлрд┐рдХ рдПрдХ рдмреЗрд╣рддрд░реАрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдФрд░ рдпрд╣ рдЭреБрдВрдб рдкрд░ рдХрд╛рдлреА рд╕реНрдерд┐рд░ рд▓рдЧрддрд╛ рд╣реИред рд╡рд╣рд╛рдБ рд╣реИ
рдЙрд╕ рдкрд░ рдЙрдирдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдкреГрд╖реНрда рдкрд░ рд╕рдВрдкреВрд░реНрдг рд╕реВрддреНрд░ (рдЬреЛ рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рд▓реВрдк рдХрд░рддрд╛ рд╣реИ :)), рд╕рд╛рде
рд╕рдорд╛рди рдЙрдкрд╛рдп:
рдХрдВрдЯреЗрдирд╕/рдЯреНрд░реИрдлрд┐рдХ#1880
https://github.com/containous/traefik/issues/1880

рдЙрдореНрдореАрдж рд╣реИ рдпреЗ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рдо рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрд░реЛрдзрдХрд░реНрддрд╛ рдЖрдИрдкреА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рдХреАрдЪрдбрд╝ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рддрдм рддрдХ рдлрдВрд╕реЗ рд░рд╣реЗрдВ рдЬрдм рддрдХ
рдХреБрдЫ рдмрджрд▓рддрд╛ рд╣реИред рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ
рдХрдо рд╕реЗ рдХрдоред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-411458326 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU7NNbsW44L95VYCvlyL_Bje-h6L9ks5uOwsUgaJpZM4Jf2WK
.

рдЦреИрд░, рдбреЙрдХрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдирд╣реАрдВ рдЫреВрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рд╣реАрди рдирд╣реАрдВ рд╣реИред
рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдЕрдЧрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдЖрдкрдХреЗ рдКрдкрд░ рд╣реЛрдЧрд╛ред

+1, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢реЛрд╕реНрдЯреЙрдкрд░ рд╣реИред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореЗрд▓рд╕рд░реНрд╡рд░ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ - рдЖрдк рдордирдорд╛рдиреЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рд╕реЗ рдореЗрд▓ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рд╣рдордиреЗ proxy_protocol nginx рдЧреНрд▓реЛрдмрд▓ рд╕реНрдЯреНрд░реАрдо рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╣реЛрд╕реНрдЯ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди proxy_nginx рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕реЗрд╡рд╛ рд╡реИрд╢реНрд╡рд┐рдХ nginx_stream

stream {
    resolver_timeout 5s;
    # 127.0.0.11 is docker swarms dns server
    resolver 127.0.0.11 valid=30s;
    # set does not work in stream module, using map here
    map '' $upstream_endpoint {
        default proxy_nginx:443;
    }

    server {
        listen 443;
        proxy_pass $upstream_endpoint;
        proxy_protocol on;
    }
}

рд╕реЗрд╡рд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ nginx_proxy

server {
    listen 443 ssl http2 proxy_protocol;
    include /ssl.conf.include;

    ssl_certificate /etc/nginx/certs/main.crt;
    ssl_certificate_key /etc/nginx/certs/main.key;

    server_name example.org;

    auth_basic           "closed site";
    auth_basic_user_file /run/secrets/default.htpasswd;

    # resolver info in nginx.conf
    set $upstream_endpoint app;
    location / {
        # relevant proxy_set_header in nginx.conf
        proxy_pass http://$upstream_endpoint;
    }
}

рдХреНрдпрд╛ nginx_stream рдФрд░ . рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ nginx рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
nginx_proxy рдЙрдирдХреЗ рдЭреБрдВрдб рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде?

рдпрд╣ рдХрдорд╛рд▓ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рдордВрдЧрд▓рд╡рд╛рд░, резрез рд╕рд┐рддрдВрдмрд░, реирежрезрео рдХреЛ резрен:резрек рд░реВрдмреЛрдЯ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рд╣рдордиреЗ рдкреНрд░реЙрдХреНрд╕реА_рдкреНрд░реЛрдЯреЛрдХреЙрд▓ nginx рдЧреНрд▓реЛрдмрд▓ рд╕реНрдЯреНрд░реАрдо рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдЬреЛ рд╣реИ
рдкреНрд░рддрд┐рдХреГрддрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ proxy_nginx. рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЕрднреА рдХреЗ рд▓рд┐рдпреЗред

рд╕реЗрд╡рд╛ рд╡реИрд╢реНрд╡рд┐рдХ nginx_stream

рдзрд╛рд░рд╛ {
рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░_рдЯрд╛рдЗрдордЖрдЙрдЯ 5s;
# резреирен.реж.реж.резрез docker swarms dns рд╕рд░реНрд╡рд░ рд╣реИ
рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ 127.0.0.11 рд╡реИрдз = 30s;
# рдпрд╣рд╛рдВ рдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░реАрдо рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдирдХреНрд╢рд╛ '' $upstream_endpoint {
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЙрдХреНрд╕реА_ nginx:443;
}

server {
    listen 443;
    proxy_pass $upstream_endpoint;
    proxy_protocol on;
}

}

рд╕реЗрд╡рд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ nginx_proxy

рд╕рд░реНрд╡рд░ {
443 рдПрд╕рдПрд╕рдПрд▓ http2 рдкреНрд░реЙрдХреНрд╕реА_рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реБрдиреЗрдВ;
рд╢рд╛рдорд┐рд▓ /ssl.conf.include;

ssl_certificate /etc/nginx/certs/main.crt;
ssl_certificate_key /etc/nginx/certs/main.key;

server_name example.org;

auth_basic           "closed site";
auth_basic_user_file /run/secrets/default.htpasswd;

# resolver info in nginx.conf
set $upstream_endpoint app;
location / {
    # relevant proxy_set_header in nginx.conf
    proxy_pass http://$upstream_endpoint;
}

}

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-420244262 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU5K-gK09XdI9NxLlT36IrJP7U7_cks5uZ6IrgaJpZM4Jf2WK
.

рдХреНрдпрд╛ рдЙрдирдХреЗ рдЭреБрдВрдб рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде nginx_stream рдФрд░ nginx_proxy рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ nginx рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЕрддреАрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛? рдпрд╣ рдХрдорд╛рд▓ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

@sandys рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
https://gist.github.com/rubot/10c79ee0086a8a246eb43ab631f3581f

рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреИрдирд╛рддреА:
рдореЛрдб: рд╡реИрд╢реНрд╡рд┐рдХ
рдмрдВрджрд░рдЧрд╛рд╣:

  • рд▓рдХреНрд╖реНрдп: рекрекрей рдкреНрд░рдХрд╛рд╢рд┐рдд: рекрекрей рдкреНрд░реЛрдЯреЛрдХреЙрд▓: рдЯреАрд╕реАрдкреА рдореЛрдб: рд╣реЛрд╕реНрдЯ

рдЗрд╕ рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рдЭреБрдВрдб рдмреИрд▓реЗрдВрд╕рд░ рдЕрдм рд╕рдореАрдХрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╡реИрдз рд╕рдорд╛рдзрд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╣рд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдкреНрд░реЛрдХреНрд╕реА (рдбреЙрдХрд░ рдлреНрд▓реЛ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░) рдерд╛ред
рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдЖрдБрдХрдбрд╝реЗ рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрддреАрдд рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рдПрдХ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдЭреБрдВрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдкреАрдЫреЗ рдерд╛ред
рдЪреАрдпрд░реНрд╕,
рдЬреИрдХреА

рдУрдкреА рдХреЗ рдЕрдиреБрд░реЛрдз ( @PanJ ) рдХреЛ

  1. рдЕрдм рд╣рдо рдПрдХ рдЭреБрдВрдб рд╕реЗрд╡рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореЗрдЬрдмрд╛рди рдЖрдИрдкреА рдХреЛ рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣ "рдкреНрд░рдХрд╛рд╢рд┐рдд" рдХрд░рддреА рд╣реИ, рдкреНрд░рд╡реЗрд╢ рд░реВрдЯрд┐рдВрдЧ рдкрд░рдд рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ
  2. рд╡рд╣реА рд╕реЗрд╡рд╛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдУрд╡рд░рд▓реЗ рдЬреИрд╕реЗ рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдУрд╡рд░рд▓реЗ рдмреЗрдирд┐рдлрд┐рдЯ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП резрео.режреп рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рджреЛрдиреЛрдВ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдорд┐рд▓рддреЗ рд╣реИрдВред рдПрдХ рдПрдХрд▓ рд╕реЗрд╡рд╛ рдмреИрдХрдПрдВрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреА рд╣реИ рдФрд░ рд╣реЛрд╕реНрдЯ рдПрдирдЖрдИрд╕реА рдкрд░ рдкреЛрд░реНрдЯ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рд╣реЛрд╕реНрдЯ рдЖрдИрдкреА рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЗ рдЖрдиреЗ рдХреЛ рджреЗрдЦ рд╕рдХрддреА рд╣реИред рдореИрдВ рдЯреНрд░реИрдлрд┐рдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рд╣реИ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдЕрд╕рд▓реА рдЖрдИрдкреА рд▓реЙрдЧрд┐рдВрдЧ" рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рджреЗрдЦреЗ рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@PanJ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ?

рдХреБрдВрдЬреА рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ mode: ingress (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдХреЗ рдмрдЬрд╛рдп mode: host рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред

рдЗрд╕ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдердХ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдФрд░ рджреЗрд╢реА рд╣реЛрд╕реНрдЯ рдПрдирдЖрдИрд╕реА рдкреНрд░рджрд░реНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдИрдкреАрд╡реАрдПрд╕ рдПрдирдХреИрдкреБрд▓реЗрд╢рди AFAIK рдХреЗ рдмрд╛рд╣рд░ рд╣реИ)ред рд╡рд┐рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рдкрд░ рд╕реБрдиреЗрдЧрд╛ред

рдореЗрд░реЗ рд▓рд┐рдП, "рдореИрдВ рдкреНрд░рд╡реЗрд╢ рдЖрдИрдкреАрд╡реАрдПрд╕ рд░реВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рднреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ" рдХрд╛ рдЕрдиреБрд░реЛрдз libnetwork рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рд╣реИред

рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдЕрдм рдПрдХ рд▓рдВрдмрд╛ рд╕рдордпред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:
рдХреБрдВрдЖред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкрд░ рд▓реЙрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЭреБрдВрдб рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рд╢реЗрдбреНрдпреВрд▓ рди рдХрд░ рд╕рдХреЗред рдХреНрдпрд╛ рдерд╛ рдорд╕рд▓рд╛
рдкреВрд░реА рддрд░рд╣ рд╕реЗ - рд╡рд╣ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓/рдЖрдИрдкреАрд╡реАрдПрд╕, рдЖрджрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, режреп:рейрек рдХреЛ рдмреНрд░реЗрдЯ рдлрд┐рд╢рд░ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдУрдкреА рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп ( @PanJ https://github.com/PanJ ), it
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдм рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдорд╣реАрдиреЗред рдУрдкреА рдиреЗ рдкреНрд░рд╡реЗрд╢ рд░реВрдЯрд┐рдВрдЧ + рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА AFAIK рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрдЫрд╛
рдкреНрд░рддрд┐рдХреГрддрд┐/рд╡реИрд╢реНрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЭреБрдВрдб рд╕реЗрд╡рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП,
рдЬреЛ рдЕрдм рд╕рд╛рдзреНрдп рд╣реИред рд╕реБрдзрд╛рд░ рдХреЗ рджреЛ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рджреЗрддреЗ рд╣реИрдВ:

  1. рдЕрдм рд╣рдо рдПрдХ рдЭреБрдВрдб рд╕реЗрд╡рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЛ "рдкреНрд░рдХрд╛рд╢рд┐рдд" рдХрд░рддреА рд╣реИ
    рдореЗрдЬрдмрд╛рди рдЖрдИрдкреА, рдкреНрд░рд╡реЗрд╢ рд░реВрдЯрд┐рдВрдЧ рдкрд░рдд рдХреЛ рдЫреЛрдбрд╝рдХрд░
  2. рд╡рд╣реА рд╕реЗрд╡рд╛ рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдЬреИрд╕реЗ рдУрд╡рд░рд▓реЗ рд╕реЗ рдЕрдЯреИрдЪ рд╣реЛ рд╕рдХрддреА рд╣реИ
    рдЙрд╕реА рд╕рдордп, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдУрд╡рд░рд▓реЗ рдмреЗрдирд┐рдлрд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП резрео.режреп рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рджреЛрдиреЛрдВ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдорд┐рд▓рддреЗ рд╣реИрдВред рдП
рдПрдХрд▓ рд╕реЗрд╡рд╛ рдмреИрдХрдПрдВрдб рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреА рд╣реИ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рднреА рдХрд░ рд╕рдХрддреА рд╣реИ
рд╣реЛрд╕реНрдЯ рдПрдирдЖрдИрд╕реА рдкрд░ рдкреЛрд░реНрдЯ рдФрд░ рд╣реЛрд╕реНрдЯ рдЖрдИрдкреА рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рджреЗрдЦреЗрдВред рдореИрдВ рд╣реВрдБ
рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ IP рдЯреНрд░реИрдлрд╝рд┐рдХ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЬреЛ рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рд╣реИ
https://github.com/BretFisher/dogvscat/blob/7e9fe5b998f2cf86951df3f443714beb413d63fb/stack-proxy-global.yml#L75-L83 ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЙрдЧрд┐рдВрдЧ" рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗ рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдЖрдИрдкреА"ред

@PanJ https://github.com/PanJ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ?

рдХреБрдВрдЬреА рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдореЛрдб рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ: рдореЛрдб рдХреЗ рдмрдЬрд╛рдп рд╣реЛрд╕реНрдЯ: рдкреНрд░рд╡реЗрд╢ (the .)
рдЪреВрдХ рдЬрд╛рдирд╛)ред

рдЗрд╕ рдореЛрдб рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдФрд░ рджреЗрд╢реА рд╣реЛрд╕реНрдЯ рдПрдирдЖрдИрд╕реА рдорд┐рд▓рддрд╛ рд╣реИ
рдкреНрд░рджрд░реНрд╢рди (рдЪреВрдВрдХрд┐ рдпрд╣ рдЖрдИрдкреАрд╡реАрдПрд╕ рдПрдирдХреИрдкреБрд▓реЗрд╢рди AFAIK рдХреЗ рдмрд╛рд╣рд░ рд╣реИ)ред рдХреЙрди рдпрд╣ рд╣реИ
рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рдкрд░ рд╕реБрдиреЗрдВрдЧреЗред

рдореЗрд░реЗ рд▓рд┐рдП, "рдореИрдВ рдкреНрд░рд╡реЗрд╢ рдЖрдИрдкреАрд╡реАрдПрд╕ рд░реВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рднреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ" рдХрд╛ рдЕрдиреБрд░реЛрдз
рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА" libnetwork рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451348906 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUzs15UVWOVl54FLwBJSZJKX-9D0jks5u_tLPgaJpZM4Jf2WK
.

@ рдмреНрд░реЗрдЯрдлрд┐рд╢рд░ mode: host рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ @sandys рдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рддрдп рдирд╣реАрдВ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ рдореЗрд░реА
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЖрдк рдпрд╛ рддреЛ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЕрд╡рд╢реНрдп рд╣реИ
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд╣реИ
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рдерд╛
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдЙрд╕ рдЭреБрдВрдб рдХреЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред @sandys рдХреЗ рд░реВрдк рдореЗрдВ https://github.com/sandys
рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА рд╣реВрдВ
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451382365 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK
.

рдЖрдк dockerflow рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ nginx рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реНрд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢рдкреНрд░реЙрдХреНрд╕реАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдЭреБрдВрдб рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдЙрдард╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ
рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд▓рд┐рдо рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреА рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреБрдмрд▓рд╛ рд╣реЛрдирд╛?

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:48:

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ рдореЗрд░реА
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЖрдк рдпрд╛ рддреЛ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЕрд╡рд╢реНрдп рд╣реИ
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд╣реИ
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рдерд╛
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдЙрд╕ рдЭреБрдВрдб рдХреЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред @sandys рдХреЗ рд░реВрдк рдореЗрдВ https://github.com/sandys
рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА рд╣реВрдВ
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451382365 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK
.

рд╡реЗ рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ - рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗрд╡рд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╕реВрдЪрдирд╛ рдФрд░ рдПрдХ рдмрд╣реБрдд рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдирдХ рд╣реИ - рд╣реИрдкреНрд░реЛрдХреНрд╕реА, рдиреЗрдЧреНрдиреЗрдХреНрд╕, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрд▓реНрдм,
рдЖрджрд┐ рд╕рднреА рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред https://www.haproxy.com/blog/haproxy/proxy-protocol/

рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЭреБрдВрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛
рдкреНрд░рд╡реЗрд╢ (рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛)ред рдФрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдпрд╣ рд╣реЛрдЧрд╛
рдЙрдкрд▓рдмреНрдзред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрек:рейрем рд░реВрдмреЛрдЯ рдкрд░ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдк dockerflow рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ nginx рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реНрд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢рдкреНрд░реЙрдХреНрд╕реАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдЭреБрдВрдб рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдЙрдард╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ
рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд▓рд┐рдо рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреА рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреБрдмрд▓рд╛ рд╣реЛрдирд╛?

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:48:

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ рдореЗрд░реА
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЖрдк
рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЕрд╡рд╢реНрдп рд╣реИ
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд╣реИ
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рдерд╛
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдЙрд╕ рдЭреБрдВрдб рдХреЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред @sandys рдХреЗ рд░реВрдк рдореЗрдВ https://github.com/sandys
рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдореБрджреНрджрд╛
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА
рд╣реЛрдирд╛
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451382365 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<
https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451389574 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU2FCEGFs5v6IOEy6AqjcBMl7IqEiks5u_xmTgaJpZM4Jf2WK
.

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдКрдкрд░ рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдорд╕рд╡рд┐рджрд╛ рдмрдирд╛рдирд╛ред
рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдпрджрд┐
рдКрдкрд░ рдХреА рдУрд░ рдЭреБрдВрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рдПрдХ рдХреНрд▓реАрдирд░ рдФрд░ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ
рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд▓рдХреНрд╖реНрдп

рд╕рдВрджреАрдк рд╢реНрд░реАрдирд┐рд╡рд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
11:37:

рд╡реЗ рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ - рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗрд╡рд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╕реВрдЪрдирд╛ рдФрд░ рдПрдХ рдмрд╣реБрдд рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдирдХ рд╣реИ - рд╣реИрдкреНрд░реЛрдХреНрд╕реА, рдиреЗрдЧреНрдиреЗрдХреНрд╕, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрд▓реНрдм,
рдЖрджрд┐ рд╕рднреА рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред https://www.haproxy.com/blog/haproxy/proxy-protocol/

рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЭреБрдВрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛
рдкреНрд░рд╡реЗрд╢ (рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛)ред рдФрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдпрд╣ рд╣реЛрдЧрд╛
рдЙрдкрд▓рдмреНрдзред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрек:рейрем рд░реВрдмреЛрдЯ рдкрд░ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдк dockerflow рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ nginx рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдкреНрд░рд╛рд░рдВрдн
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реНрд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢рдкреНрд░реЙрдХреНрд╕реАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдЭреБрдВрдб рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдЙрдард╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ
рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд▓рд┐рдо рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреА рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреБрдмрд▓рд╛ рд╣реЛрдирд╛?

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:48:

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ рдореЗрд░реА
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЖрдк
рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ
рдЕрд╡рд╢реНрдп
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд╣реИ
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рдерд╛
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдЙрд╕ рдЭреБрдВрдб рдХреЛ рдЪрд╛рд╣рд┐рдП
рд╣реЛрдирд╛
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред рдЬреИрд╕рд╛ @sandys <
https://github.com/sandys>
рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдореБрджреНрджрд╛
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА
рд╣реЛрдирд╛
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451382365 ,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK
>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451389574 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<
https://github.com/notifications/unsubscribe-auth/AAEsU2FCEGFs5v6IOEy6AqjcBMl7IqEiks5u_xmTgaJpZM4Jf2WK

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451409453 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAPgu83fSrSzfopOlDXsDooN1tMboGZaks5u_y8EgaJpZM4Jf2WK
.

рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣реА рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реИред рдпрд╣
рдХрдВрдЯреЗрдирд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдХрд░ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
рд╡рд┐рднрд┐рдиреНрди рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП - рдореИрдВ рдЕрдм рдореЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реВрдВред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрен:реирео рд░рдмреЛрдЯ < рд╕реВрдЪрдирд╛рдУрдВ @github.com рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ:

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдКрдкрд░ рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдорд╕рд╡рд┐рджрд╛ рдмрдирд╛рдирд╛ред
рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдпрджрд┐
рдКрдкрд░ рдХреА рдУрд░ рдЭреБрдВрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рдПрдХ рдХреНрд▓реАрдирд░ рдФрд░ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ
рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд▓рдХреНрд╖реНрдп

рд╕рдВрджреАрдк рд╢реНрд░реАрдирд┐рд╡рд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
11:37:

рд╡реЗ рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ - рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗрд╡рд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╕реВрдЪрдирд╛ рдФрд░ рдПрдХ рдмрд╣реБрдд рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдирдХ рд╣реИ - рд╣реИрдкреНрд░реЛрдХреНрд╕реА, рдиреЗрдЧреНрдиреЗрдХреНрд╕, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрд▓реНрдм,
рдЖрджрд┐ рд╕рднреА рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред https://www.haproxy.com/blog/haproxy/proxy-protocol/

рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЭреБрдВрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛
рдкреНрд░рд╡реЗрд╢ (рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛)ред рдФрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╣реЛрдЧрд╛
рдпрд╣
рдЙрдкрд▓рдмреНрдзред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрек:рейрем рд░реВрдмреЛрдЯ рдкрд░ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдк dockerflow рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ nginx рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдкреНрд░рд╛рд░рдВрдн
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реНрд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢рдкреНрд░реЙрдХреНрд╕реАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдкреИрдХ
рдЭреБрдВрдб
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдЙрдард╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ
рдХрд╛
рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд▓рд┐рдо рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреА рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреБрдмрд▓рд╛ рд╣реЛрдирд╛?

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:48:

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ рдореЗрд░реА
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдирд╣реАрдВ рд╣реИ
рдкрд░реНрдпрд╛рдкреНрдд
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЖрдк
рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ
рдЕрд╡рд╢реНрдп
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ
рд╡реИрд╕рд╛ рд╣реА
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ
рд╕рдХрддрд╛ рд╣реИ
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдЙрд╕ рдЭреБрдВрдб рдХреЛ рдЪрд╛рд╣рд┐рдП
рд╣реЛрдирд╛
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рд╣реИ
рдП
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред рдЬреИрд╕рд╛ @sandys <
https://github.com/sandys>
рдХрд╣рд╛ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣
рдореБрджреНрджрд╛
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЧрдпрд╛
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░
рдлрд┐рд░ рднреА
рд╣реЛрдирд╛
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451382365 ,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK

>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451389574 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAEsU2FCEGFs5v6IOEy6AqjcBMl7IqEiks5u_xmTgaJpZM4Jf2WK
>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451409453 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<
https://github.com/notifications/unsubscribe-auth/AAPgu83fSrSzfopOlDXsDooN1tMboGZaks5u_y8EgaJpZM4Jf2WK

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451424992 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU-q-I3fXVAP9JcGgTdJJOzI7b575ks5u_0HIgaJpZM4Jf2WK
.

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, Kubernetes nginx ingress рдХреЛ рд╣реЛрд╕реНрдЯ рдореЛрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдбреЗрдореЛрдВрд╕реЗрдЯ рдмрд╛рд╣рд░реА рдПрд▓рдмреА рдиреЛрдбрдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рд╕реЗрд╡рд╛ рдореЗрдВ, рдпрд╛ рд╕реЗрд╡рд╛ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕
рд╡рд╣реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрддрд╛ рд╣реИ, рдлрд┐рд░ рднреАред
рдЭреБрдВрдб рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛:
рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛
lvs/iptables рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рддрдХрдиреАрдХреЗрдВ

рд╕рдВрджреАрдк рд╢реНрд░реАрдирд┐рд╡рд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
13:05:

рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣реА рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реИред рдпрд╣
рдХрдВрдЯреЗрдирд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдХрд░ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
рд╡рд┐рднрд┐рдиреНрди рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП - рдореИрдВ рдЕрдм рдореЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реВрдВред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрен:реирео рд░рдмреЛрдЯ < рд╕реВрдЪрдирд╛рдУрдВ @github.com рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ:

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдКрдкрд░ рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдорд╕рд╡рд┐рджрд╛ рдмрдирд╛рдирд╛ред
рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдЕрдЧрд░
рдКрдкрд░ рдХреА рдУрд░ рдЭреБрдВрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рдХреНрд▓реАрдирд░ рдФрд░ рд╢рд╛рдпрдж рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рджрд┐рдЦрддрд╛
рдмреЗрд╣рддрд░
рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд▓рдХреНрд╖реНрдп

рд╕рдВрджреАрдк рд╢реНрд░реАрдирд┐рд╡рд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4 рдЬрдирд╡рд░реАред
2019,
11:37:

рд╡реЗ рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ - рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╣реИрдбрд░
рд╕реВрдЪрдирд╛ рдФрд░ рдПрдХ рдмрд╣реБрдд рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдирдХ рд╣реИ - рд╣реИрдкреНрд░реЛрдХреНрд╕реА, nginx, AWS
рдПрд▓реНрдм,
рдЖрджрд┐ рд╕рднреА рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
https://www.haproxy.com/blog/haproxy/proxy-protocol/

рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЭреБрдВрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛
рдкреНрд░рд╡реЗрд╢ (рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛)ред рдФрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╣реЛрдЧрд╛
рдпрд╣
рдЙрдкрд▓рдмреНрдзред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрек:рейрем рд░реВрдмреЛрдЯ рдкрд░ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдк dockerflow рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ nginx рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдкреНрд░рд╛рд░рдВрдн
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реНрд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢рдкреНрд░реЙрдХреНрд╕реАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдкреИрдХ
рдЭреБрдВрдб
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдЙрдард╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ
рдХрд╛
рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд▓рд┐рдо рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреА рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ
рд╕рдВрд╕рд╛рдзрди
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреБрдмрд▓рд╛ рд╣реЛрдирд╛?

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
09:48:

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ
рдореЗрд░реЗ
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдирд╣реАрдВ рд╣реИ
рдкрд░реНрдпрд╛рдкреНрдд
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
рдЖрдк
рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХреМрди
рдЕрд╡рд╢реНрдп
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ
рд╡реИрд╕рд╛ рд╣реА
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ
рд╕рдХрддрд╛ рд╣реИ
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
рдкрд╛рдирд╛
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдЙрд╕ рдЭреБрдВрдб рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдкреНрд░рддрд┐
рд╣реЛрдирд╛
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ is
рдХреЗрд╡рд▓
рдП
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред рдЬреИрд╕рд╛ @sandys <
https://github.com/sandys>
рдХрд╣рд╛ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣
рдореБрджреНрджрд╛
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЧрдпрд╛
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░
рдлрд┐рд░ рднреА
рд╣реЛрдирд╛
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
< https://github.com/moby/moby/issues/25526#issuecomment -451382365
,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK

>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451389574 ,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAEsU2FCEGFs5v6IOEy6AqjcBMl7IqEiks5u_xmTgaJpZM4Jf2WK

>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451409453 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAPgu83fSrSzfopOlDXsDooN1tMboGZaks5u_y8EgaJpZM4Jf2WK
>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451424992 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<
https://github.com/notifications/unsubscribe-auth/AAEsU-q-I3fXVAP9JcGgTdJJOzI7b575ks5u_0HIgaJpZM4Jf2WK

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451426276 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAPguw88UN68sw_TNTunZpuAGqgvexxMks5u_0NxgaJpZM4Jf2WK
.

рдФрд░ рдмрд╕ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рдордиреЗ рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╣реИ
рдкреНрд░реЙрдХреНрд╕реАред рддреЛ, рдЖрдкрдХрд╛ рдЕрдиреБрд░реЛрдз рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИред рдФрд░
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд▓ рдЭреБрдВрдб рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдпрджрд┐ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдореЛрдб рд╣реЛрдЧрд╛
рдмрджрд▓реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдиреЗрдЯ/рд╣реЛрд╕реНрдЯ рд╕реНрддрд░ рдкрд░ рдЖрдИрдкреА рдЦреЛрдиреЗ рдореЗрдВ рдмрдиреА рд╣реБрдИ рд╣реИ

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019, 13:11:

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, Kubernetes nginx ingress рдХреЛ рд╣реЛрд╕реНрдЯ рдореЛрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдбреЗрдореЛрдВрд╕реЗрдЯ рдмрд╛рд╣рд░реА рдПрд▓рдмреА рдиреЛрдбрдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рд╕реЗрд╡рд╛ рдореЗрдВ, рдпрд╛ рд╕реЗрд╡рд╛ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕
рд╡рд╣реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрддрд╛ рд╣реИ, рдлрд┐рд░ рднреАред
рдЭреБрдВрдб рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛:
рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛
lvs/iptables рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рддрдХрдиреАрдХреЗрдВ

рд╕рдВрджреАрдк рд╢реНрд░реАрдирд┐рд╡рд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4 рдЬрдирд╡рд░реАред
2019, 13:05:

рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣реА рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реИред рдпрд╣
рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдХрд░ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
рдХрдВрдЯреЗрдирд░реЛрдВ
рд╡рд┐рднрд┐рдиреНрди рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП - рдореИрдВ рдЕрдм рдореЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реВрдВред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрен:реирео рд░рдмреЛрдЯ < рд╕реВрдЪрдирд╛рдУрдВ @github.com рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ:

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдКрдкрд░ рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдорд╕рд╡рд┐рджрд╛ рдмрдирд╛рдирд╛ред
рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдЕрдЧрд░
рдКрдкрд░ рдХреА рдУрд░ рдЭреБрдВрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рдХреНрд▓реАрдирд░ рдФрд░ рд╢рд╛рдпрдж рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рджрд┐рдЦрддрд╛
рдмреЗрд╣рддрд░
рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд▓рдХреНрд╖реНрдп

рд╕рдВрджреАрдк рд╢реНрд░реАрдирд┐рд╡рд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4 рдЬрдирд╡рд░реАред
2019,
11:37:

рд╡реЗ рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ - рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╣реИрдбрд░
рд╕реВрдЪрдирд╛ рдФрд░ рдПрдХ рдмрд╣реБрдд рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдирдХ рд╣реИ - рд╣реИрдкреНрд░реЛрдХреНрд╕реА, nginx, AWS
рдПрд▓реНрдм,
рдЖрджрд┐ рд╕рднреА рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
https://www.haproxy.com/blog/haproxy/proxy-protocol/

рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЭреБрдВрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛
рдкреНрд░рд╡реЗрд╢ (рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛)ред рдФрд░ рд╕рднреА рд╕реЗрд╡рд╛рдПрдВ
рдкрд╛рд╕ рд╣реЛрдирд╛
рдпрд╣
рдЙрдкрд▓рдмреНрдзред

рд╢реБрдХреНрд░, рек рдЬрдирд╡рд░реА, реирежрезреп, резрек:рейрем рд░реВрдмреЛрдЯ рдкрд░ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдк dockerflow рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ nginx рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдкреНрд░рд╛рд░рдВрдн
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реНрд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢рдкреНрд░реЙрдХреНрд╕реАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдкреИрдХ
рдЭреБрдВрдб
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдЙрдард╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣рд╛рдБ рд╣реИрдВ a
рдЭреБрдВрдб
рдХрд╛
рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд▓рд┐рдо рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдХреА рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ
рд╕рдВрд╕рд╛рдзрди
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреБрдмрд▓рд╛ рд╣реЛрдирд╛?

рд░реВрдмреЗрди рдирд┐рдХреЛрд▓рд╛рдЗрдбреНрд╕ [email protected] schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
09:48:

рдореИрдВ рдЕрднреА рднреА рд╣реИрд░рд╛рди рд╣реВрдВ, рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╕реЗ
рдореЗрд░реЗ
рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдмрдпрд╛рди рднреА рдирд╣реАрдВ рд╣реИ
рдкрд░реНрдпрд╛рдкреНрдд
рдЙрддреНрддрд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛/рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
рдЖрдк
рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдПрдХ рдмрд╛рд╣рд░реА LB рд╣реИ, рдпрд╛ nginx рдкреНрд░рд╡реЗрд╢ рдкреНрд░реЙрдХреНрд╕реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХреМрди
рдЕрд╡рд╢реНрдп
рдбреЗрдореЛрдВрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ
рд╡реИрд╕рд╛ рд╣реА
рдпрд╣рд╛рдВ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рддреИрдпрд╛рд░ рдСрдЯреЛрд╕реЙрд▓реНрдпреВрд╢рди рдирд╣реАрдВ рд╣реИред рдХреЛрдИ
рд╕рдХрддрд╛ рд╣реИ
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдкреИрдХ рдХрд░реЗрдВ
рдкрд╛рдирд╛
nginx рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕рд╛ рдХреБрдЫред рдмрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЛ, рд╡рд╣ рдЭреБрдВрдб
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд╣реЛрдирд╛
рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд

рдкрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com schrieb am Fr., 4. рдЬрдирд╡рд░реА 2019,
09:28:

@BretFisher https://github.com/BretFisher рдореЛрдб: рд╣реЛрд╕реНрдЯ is
рдХреЗрд╡рд▓
рдП
рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред рдЬреИрд╕рд╛ @sandys <
https://github.com/sandys>
рдХрд╣рд╛ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВ, рд╣рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣
рдореБрджреНрджрд╛
рддрдп рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ
рдЧрдпрд╛
рдЦреЛрдЬрд╛ рдЧрдпрд╛ред рдореИрдВ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░
рдлрд┐рд░ рднреА
рд╣реЛрдирд╛
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
<
https://github.com/moby/moby/issues/25526#issuecomment-451382365>,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAPgu40OJ-uNKORD-LAD12m1lafxzMiSks5u_xCcgaJpZM4Jf2WK

>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451389574 ,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAEsU2FCEGFs5v6IOEy6AqjcBMl7IqEiks5u_xmTgaJpZM4Jf2WK

>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451409453 ,
рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<

https://github.com/notifications/unsubscribe-auth/AAPgu83fSrSzfopOlDXsDooN1tMboGZaks5u_y8EgaJpZM4Jf2WK
>

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451424992 , рдпрд╛
рдореВрдХ
рд╕реВрддреНрд░
<
https://github.com/notifications/unsubscribe-auth/AAEsU-q-I3fXVAP9JcGgTdJJOzI7b575ks5u_0HIgaJpZM4Jf2WK

.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-451426276 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAPguw88UN68sw_TNTunZpuAGqgvexxMks5u_0NxgaJpZM4Jf2WK
.

  1. рдЗрддрдиреЗ рд▓рдВрдмреЗ рдзрд╛рдЧреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╡рд░реНрддрдорд╛рди рдлреАрдЪрд░рд╕реЗрдЯ рдХреЛ рдПрдХ рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред
  2. рдореБрдЭреЗ рдУрдкреА рдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЖрдкрдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред @PanJ рдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛, рдЬреЛ рдХрд┐ 2018 рдХреЗ рдордзреНрдп рддрдХ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдкреНрд░рд╡реЗрд╢ рдорд╛рд░реНрдЧ рдЬрд╛рд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░реЗред

рдЪрд╛рд╣реЗ рдЖрдк рдЗрд╕реЗ рдмрдЧ рдХрд╣реЗрдВ рдпрд╛ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз, рд╕реНрд░реЛрдд рдиреЗрдЯ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╡реЗрд╢ рдЬрд╛рд▓ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ) рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдРрд╕реЗ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ рдЬреЛ рддрдм рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рд╣реЛрд╕реНрдЯ рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЙрд▓рдЯ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рд╣реЗрдбрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╡рдд: рдЧреИрд░-рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдПрдХ рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреИрдХреЗрдЯ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╡реЗрд╢ рдЬрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдЭреБрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред

рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрдм рдареАрдХ рд╣реБрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВ?
рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧрд╛... рдореБрдЭреЗ рдЗрд╕ рд╕рдордп рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

рдЬрдм рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдпрд╣рд╛рдВ рдХрд░реЗрдВред

рдзрдиреНрдпрд╡рд╛рдж!

рдореЗрд░реЗ рд╕рд╛рде рднреА рд╡рд╣реА рджрд┐рдХреНрдХрдд рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдкрд╛рдЪреЗ httpd рд╕рд░реНрд╡рд░ рд╣реИ рдФрд░ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЖрдВрдХрдбрд╝реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдПрдХреНрд╕реЗрд╕ рд▓реЙрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХрд┐рди рджреЗрд╢реЛрдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП рд╕реНрд╡рдпрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ рдХрд┐ рдХреНрдпреЛрдВ php: apache рд╣реЛрд╕реНрдЯ рд╣реЗрдбрд░ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓реЙрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рд╣реИрд░рд╛рди рдФрд░ рдирд┐рд░рд╛рд╢ рд╣реВрдВ рдХрд┐ рдЗрддрдиреЗ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рднреА рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрдм рд╣реЛрд╕реНрдЯ рдлреАрд▓реНрдб рдпреВрдЬрд░рд▓реИрдВрдб рдкреНрд░реЙрдХреНрд╕реА рдЖрдИрдкреА рд▓реЙрдЧрд┐рдВрдЧ рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рд╡реЗрдм рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд╛рд░реНрдо рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореИрдВ рдЭреБрдВрдб рдореЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рдЦреЛрдЬ рдкрд╛рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдЭреБрдВрдб (рдХрдВрдЯреЗрдирд░ рдЖрдзрд╛рд░рд┐рдд) рдФрд░ рдХреЙрдиреНрд╕рд▓ рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреАрдЫреЗ рдХреА рдУрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛:

services:
  server:
    image: httpd:2
    deploy:
      mode: global
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
      - target: 443
        published: 443
        protocol: tcp
        mode: host
    networks:
      - my_second_service
      - another_great_software

рдпрд╣ рдЕрдкрд╛рдЪреЗ рдХреЛ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ (рдЙрдЪрд┐рдд рджреВрд░рд╕реНрде рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдкрдврд╝рдиреЗ) рдХреЗ рдмрдЬрд╛рдп рд╣реЛрд╕реНрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реБрдирдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛, рдЬрдмрдХрд┐ рдЕрднреА рднреА networks рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ "рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд░ рдЬрдЧрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

@rafaelsierra - рдпрд╣рд╛рдВ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ (рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗрд╡рд▓ рдПрдХ рдЕрдкрд╛рдЪреЗ/PHP рдХрдВрдЯреЗрдирд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рд╣реЛрд╕реНрдЯ рдиреЛрдб рдкрд░ рдкреЛрд░реНрдЯ 80 рдкрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ 80/443 рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдПрдХ Nginx рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдкрд╛рдЪреЗ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ vhost рдХрд░реЗрдВред

@SysEngDan рд╣рд╛рдБ, рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ 80/443 рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдХрдВрдЯреЗрдирд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдЯреЗрдирд░ рдЬреЛ рдЗрд╕ рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЬреЛ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреАрдЫреЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

рдЖрдк рд╢рд╛рдпрдж рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рдПрдХрд▓ nginx/apache рдХрдВрдЯреЗрдирд░ рд╕рднреА рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ vhost рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдЪрд┐рдд рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╣реЛрд╕реНрдЯ рд╕реЗ рдмрдВрдзрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

@rafaelsierra - рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЗрд╡рд▓ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕реБрдирдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рд╕реАрдзреЗ рдореЗрдЬрдмрд╛рди рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реВрдВ, рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВред рдпрджрд┐ рд╣рдо рдмрд╛рд╣рд░реА (рд╣реЛрд╕реНрдЯ) рд╕реЗ рдЖрдВрддрд░рд┐рдХ (рдУрд╡рд░рд▓реЗ) рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЧрдВрддрд╡реНрдп рдЕрдкрд╛рдЪреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдореВрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкрддрд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЖрдИрдкреА (рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реЗ) рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

@SysEngDan рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдФрд░ рдЪреВрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ (рдФрд░ рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ "рдареАрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп" рд╣реИ), рдореБрдЭреЗ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдкрдбрд╝рд╛ рдЬреЛ рдореЗрд░реА рдЬрд╝рд░реВрд░рдд рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛ (рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░реЗрдВ) рджреВрд░рд╕реНрде рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред

рд╣реЛрд╕реНрдЯ рдкрд░ рдкреЛрд░реНрдЯ 80/443 рдкрд░ рдПрдХ рдПрдХрд▓ рдХрдВрдЯреЗрдирд░ рд╕реБрдирдиреЗ рдФрд░ рдлрд┐рд░ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдореАрдк (рдЙрдкрдпреБрдХреНрдд HTTP рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ) рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛, рдФрд░ рдореИрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рджреВрд░рд╕реНрде рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ

рдУрд╣, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЖрдкрдиреЗ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ ..... рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рд╡рд╣ рдпрд╛рдж рдЖрдпрд╛ред рдЖрдкрдиреЗ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдмрд╛рд╣рд░реА рдлреЗрд╕рд┐рдВрдЧ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕реАрдзреЗ рд╕рд░реНрд╡рд┐рд╕ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ (рдЬреЛ рдХрд┐ рдЬрдм рдЖрдк рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдУрд╡рд░рд╣реЗрдб рд╕реЗрд╡рд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ docker-compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╣реЛрд╕реНрдЯ-рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗрд╡рд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ?

рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЛ 502 рдорд┐рд▓реЗрдЧрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдХрд▓ docker-compose.yml рдирд╣реАрдВ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрдИ рд╕реНрдЯреИрдХ рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рд╣реЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рд╣реИ рдЕрдиреНрдп рд╕рднреА рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рддрд╛рдХрд┐ рдпрд╣ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХрд░ рд╕рдХреЗред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╣реЛрд╕реНрдЯ рдореЛрдб рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд░ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреБрдЫ рд╕реАрдорд┐рдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ (рдЬреИрд╕реЗ рдХреБрдЫ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╡реЗрдм рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реЗрдЯрдЕрдк) рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЙрд╕реА "рд╕рдорд╛рдзрд╛рди" рдХреЛ рдлрд┐рд░ рд╕реЗ рд╣реИрд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдкрдврд╝реЗрдВред

@darrelenns рдпрд╣рд╛рдВ 200 рд╕реЗ рдЕрдзрд┐рдХ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓реЙрдХ рдХрд░рдирд╛ рдФрд░ рд╕рд╛рдл рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдореВрд▓ "рдмрд╕ рд╣реЛрд╕реНрдЯ рдмрд╛рдЗрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдЖрдк рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ" рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдореЗрд░реЗ рдЬреИрд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдЪреВрдХ рдЬрд╛рдПрдВрдЧреЗ рд╡рд╣ рдФрд░ рдмрд╕ рдПрдХ рд╣реА рд╕рд╛рдорд╛рди рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд░рд╣реЗрдВ

рдЗрд╕рд▓рд┐рдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ ips рдХреЛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЯреНрд░реИрдлрд┐рдХ рдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╡реЛ рд╕рд╣реА рд╣реИ?

рд╡реИрд╕реЗ рднреА, рдЭреБрдВрдб рдореЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

docker service create \
--name traefik \
--constraint=node.role==manager \
--publish mode=host,target=80,published=80 \
--publish mode=host,target=443,published=443 \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--mount type=bind,source=/home/$USER/dev-ops/logs,target=/dev-ops/logs \
--mount type=bind,source=/opt/data/traefik/traefik.toml,target=/traefik.toml \
--mount type=bind,source=/opt/data/traefik/acme.json,target=/acme.json \
--network traefik \
--label traefik.frontend.rule=Host:traefik.example.com \
--label traefik.port=8080 \
traefik \
--docker \
--docker.swarmMode \
--docker.watch \
--docker.exposedByDefault

@coltenkrauter рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВред рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдореЛрдб рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рддрд╛рдпрд╛рдд рд╕реНрдерд┐рд░рддрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕рд╛рде рд╣реА, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЯреНрд░реИрдлрд┐рдХ рд╡рд┐рд╢реЗрд╖ рдЬрд░реВрд░рддреЛрдВ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп http рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдореВрд▓ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдЧрд╛рдпрдм рд╣реИ), рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред

рдФрд░ рдореИрдВ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╢реЛрд░ рдХрд┐рд╕реА рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдЧрд╛ :) (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ)

рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВред рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдореЛрдб рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рддрд╛рдпрд╛рдд рд╕реНрдерд┐рд░рддрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЖрдк рдкреНрд░рддрд┐ рд╣реЛрд╕реНрдЯ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВред рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдореЛрдб рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рддрд╛рдпрд╛рдд рд╕реНрдерд┐рд░рддрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЖрдк рдкреНрд░рддрд┐ рд╣реЛрд╕реНрдЯ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдореИрдиреЗрдЬрд░ рдиреЛрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рддреЛ, рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдб, рдПрдХ рдореЗрдЬрдмрд╛рди, рдПрдХ рдЙрджрд╛рд╣рд░рдг

рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдбреНрд╕ рдХреЛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ a . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ
рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯ рдкреНрд░реЙрдХреНрд╕реА, рд░рд┐рдореЛрдЯ рд╕реЙрдХреЗрдЯ, рдпрд╛ рдЯреНрд░реИрдлрд┐рдХ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬред рдпрд╣рд╛рдБ рдПрдХ рд╣реИ
рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рд╕реНрдЯреИрдХ рдлрд╝рд╛рдЗрд▓:
https://github.com/BretFisher/dogvscat/blob/master/stack-proxy-global.yml

рд╢рдирд┐рд╡рд╛рд░, 16 рдорд╛рд░реНрдЪ, 2019 рдХреЛ рд╢рд╛рдо 5:25 рдмрдЬреЗ рдбреЗрдирд┐рдпрд▓ рдХреНрд░реВрд╕рд┐рдпрд╛рдиреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдирд╣реАрдВ рдХрд░рддрд╛
рд╕реЛрдЪреЛ рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдБред рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рдпрд╛рддрд╛рдпрд╛рдд рд╕реНрдерд┐рд░рддрд╛ рдкрд░ рдкреВрд░рд╛ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдореЛрдб рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рд░рд┐рд▓реЗ рдХрд┐рдП рдмрд┐рдирд╛ред

рдЖрдк рдкреНрд░рддрд┐ рд╣реЛрд╕реНрдЯ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рддреЛ, рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдб, рдПрдХ рдореЗрдЬрдмрд╛рди, рдПрдХ рдЙрджрд╛рд╣рд░рдг

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-473593956 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAwW31DHIwEJE1EqN3-8qj44WopocuQTks5vXWE_gaJpZM4Jf2WK
.

рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рджреЗрдЦреЗрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдЬреЛрд░ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдИ рдиреЛрдбреНрд╕ рдореЗрдВ, рдЕрдЧрд░ рдореИрдВ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдПрдХ рдПрдХрд▓ рдиреЛрдб, рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдИ рднреА рдЕрдиреНрдп рд╕реЗрд╡рд╛, рдЬреЛ рдХреЗрд╡рд▓ рдкреНрд░реЙрдХреНрд╕реА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдХреЛ рдХрд┐рд╕реА рднреА рдкреЛрд░реНрдЯ рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╡реИрд╕реЗ рднреА рдЗрд╕реЗ рдХрдИ рдиреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдкреНрд░рддрд┐ рдЙрджрд╛рд╣рд░рдг рдХрдо рд╕реЗ рдХрдо рдПрдХ .

рдФрд░ рдЖрдЧреЗ рдФрд░ рдЖрдЧреЗред рдЖрдк рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдКрдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдФрд░ рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╕рд╛рд░рд╛ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ рд╡реЙрдиреНрдЯрдлрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ рдФрд░ рдореИрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдКрдВрдЧрд╛, рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдШрд░реНрд╖ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдиреЛрдб рдЭреБрдВрдб рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдХреА рдкрд╕рдВрдж рд╕реЗ рдкрд╣рд▓реЗ

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЭреБрдВрдб рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕рд╣рд┐рдд рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рд╕рднреА рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдХреЛрдИ рднреА рдЙрдкрдХрд░рдг рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ/рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдореБрджрд╛рдп рдХрд╛ рд╕рджрд╕реНрдп рд╣реВрдВ рдЬреЛ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рдВрднрд╡рддрдГ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдПрдХ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рдЪреБрдирдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдХрд╛рд░рдг рд╣реИред

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, рднреАрдбрд╝ рдФрд░ рдЭреБрдВрдб рдЕрдиреБрд░рдХреНрд╖рдХ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдЕрднреНрдпрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХрд▓ рд╕рдореБрджрд╛рдп рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдЖрд░ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддрдм рддрдХ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛, рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдзрд╛рдЧреЗ рдХрд╛ рд╡реИрдз рдЙрдкрдпреЛрдЧ рд╣реИред :)

рдЭреБрдВрдб рдореЗрдВрдЯреЗрдирд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдЯреАрдо рднрд╡рд┐рд╖реНрдп рдХреА рдлреАрдЪрд░ рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдкреАрдЖрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдк рд░реЗрдкреЛ рдореЗрдВ рдХрдорд┐рдЯ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ (рдпрд╛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдХрд╣рд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ)ред рд▓реЗрдХрд┐рди рдореИрдВ рдореВрд▓ @PanJ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрджреГрдврд╝ рдХрд░рдирд╛

рдЗрд╕ рдмреАрдЪ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЭреБрдВрдб рдореЛрдб рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рд╛рд░реНрдо рдореЛрдб рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рджреЗрддрд╛ рд╣реИ (рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд╛рдкреНрддрд┐ рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдкрд░ рднреА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП), рдЬреЛ рдЭреБрдВрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝ рджреЗрддреА рд╣реИ рд╕реНрд╡-рдЙрдкрдЪрд╛рд░ рдФрд░ рдЖрд░реНрдХреЗрд╕реНрдЯреНрд░рд╛ рдХреЗ рд▓рд┐рдП рдореЛрдбред

рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ "рдЭреБрдВрдб рдореЛрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ", рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдп рдкрд░, рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдореИрдВ рдЕрдкрдиреА рдЯреАрдо рдХреЛ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХред рд╣рдо рдЧреЛрд▓рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдкрд╛рддреЗ рд╣реИрдВ
рдореБрд╢реНрдХрд┐рд▓ред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдЯреАрдо рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдЧреА рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛
рд╕рдВрдЧрдд (рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ) рд╕рдорд╛рдзрд╛рди рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдкрд░рдд рдХрд░рдирд╛ рд╣реИ
рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред

рдЬрдЯрд┐рд▓рддрд╛ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдЖрддреА рд╣реИ рдХрд┐ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рди рдХреЗрд╡рд▓ рдХрд░рдирд╛ рд╣реИ
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЗрдбрд░ рдкрд╣рд▓реЗ рд╣реА рдбрд╛рд▓реЗ рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Google LB рдпрд╛
рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдИрдПрд▓рдмреА)ред

рд╕реВрд░реНрдп рдкрд░, 17 рдорд╛рд░реНрдЪ, 2019, 12:17 рдбреЗрдирд┐рдпрд▓ рдХреНрд░реВрд╕рд┐рдпрд╛рдиреА, рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ (рдпрд╛ рдореИрдВрдиреЗ рдЗрд╕реЗ a . рдореЗрдВ рдХрд╣рд╛ рдерд╛)
рдЕрд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ)ред рд▓реЗрдХрд┐рди рдореИрдВ рдореВрд▓ @PanJ . рдХреЛ рдордЬрдмреВрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ
https://github.com/PanJ рд░рд┐рдкреЛрд░реНрдЯ:

рдЗрд╕ рдмреАрдЪ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рдЭреБрдВрдб рдореЛрдб рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдФрд░ рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВ
рдЭреБрдВрдб рдореЛрдб рдореЗрдВ (рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд╛рдкреНрддрд┐ рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдкрд░ рднреА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП), рдЬреЛ
рд╕реНрд╡-рдЙрдкрдЪрд╛рд░ рдФрд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдореЛрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ "рдЭреБрдВрдб рдореЛрдб рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ", рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЗрд╕ рдкрд░
рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдп, рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-473621667 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUwNWJsGKlLejcNzS2pR0awBB4OVlks5vXeTugaJpZM4Jf2WK
.

https://stackoverflow.com/questions/50585616/kubernetes-metallb-traefik-how-to-get-real-client-ip
рдЬреИрд╕рд╛ рдХрд┐ k8s рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрддрд░рд┐рдд рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ

рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА docker рдЭреБрдВрдб рдХреЗ рд╕рд╛рде digitalocean рдкрд░ nginx рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ nginx рд▓реЙрдЧ рдХреЗ рднреАрддрд░ рдХреЗрд╡рд▓ 10.255.0.2 рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ $remote_addr рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ; рдЖрдк @coltenkrauter рд╕реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрдХрдбрд╝ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ nginx рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд╕ рдЕрдкрдиреА docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдмрджрд▓реЗрдВ:

рдЧрд▓рдд

services:
  nginx:
    ports:
      - "80:80"
      - "443:443"

рд╕рд╣реА

services:
  nginx:
    ports:
      - target: 80
        published: 80
        mode: host
      - target: 443
        published: 443
        mode: host

_рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрдм рд╣рдо рд╕рднреА рдХреЛ рд╕рд╣реА рдЙрддреНрддрд░ рдорд┐рд▓рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ_

рдкреНрд░рд╡реЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ ( mode: host ) рдПрдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдЬрдм рд╕рдорд╕реНрдпрд╛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИред
рдХреЛрдИ рднреА рдХреЗрд╡рд▓ рдПрдХ рд╣реЛрд╕реНрдЯ рдХреЛ рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдк рдПрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдХрдИ рд╣реЛрд╕реНрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб-рдЬрд╛рд▓ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред

рд╢рд╛рдпрдж рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, MASQUERADE рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП iptables рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ INGRESS рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдореЗрдВ рдХрд┐рд╕реА рд╕реНрддрд░ рдкрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХреБрдЫ iptables/netfilter рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реИрдВ?

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-INGRESS  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (2 references)
target     prot opt source               destination         

Chain DOCKER-INGRESS (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination         
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЭреБрдВрдб рд╕рд┐рд░реНрдл рдореВрд▓ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ X-Forwarded-For рд╣реИрдбрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ?

рдХреЛрдИ рднреА рдХреЗрд╡рд▓ рдПрдХ рд╣реЛрд╕реНрдЯ рдХреЛ рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдк рдПрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдХрдИ рд╣реЛрд╕реНрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб-рдЬрд╛рд▓ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред

рдЭреБрдВрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд░реВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдореВрд▓ рдЖрдИрдкреА-рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдЧрд╛)ред

рдкреВрд░реЗ рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд┐рдЯрд╣рдм рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдирдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдирд┐рд░рд╛рд╢:);

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЭреБрдВрдб рд╕рд┐рд░реНрдл рдореВрд▓ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ X-Forwarded-For рд╣реИрдбрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ?

рджреЗрдЦреЗрдВ https://github.com/moby/moby/issues/25526#issuecomment -367642600; X-Forwarded-For L7 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ; рдбреАрдПрдирдПрдЯреА рдХреЗ рд╕рд╛рде рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЭреБрдВрдб рдкреНрд░рд╡реЗрд╢ рдПрд▓ 4 рд╣реИ

@ port22 рдЖрдо рддреМрд░ рдкрд░ рд╣рдо рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдПрдХ рд╕рдорд╛рдзрд╛рди рдЗрд╕реЗ рдкрд░рддрджрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рджреЗрдЦреЗрдВ # 25526 рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдкреНрд░рд╕реНрддрд╛рд╡

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЭреБрдВрдб рд╕рд┐рд░реНрдл рдореВрд▓ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рдФрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ

рдПрдХ рдПрдХреНрд╕-рдЕрдЧреНрд░реЗрд╖рд┐рдд-рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП?
#25526 рджреЗрдЦреЗрдВ (рдЯрд┐рдкреНрдкрдгреА)
https://github.com/moby/moby/issues/25526#issuecomment-367642600 ;
X-Forwarded-For is L7 рдкреНрд░реЛрдЯреЛрдХреЙрд▓; рдбреАрдПрдирдПрдЯреА рдХреЗ рд╕рд╛рде рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЭреБрдВрдб рдкреНрд░рд╡реЗрд╢ рдПрд▓ 4 рд╣реИ

рдпрд╣рд╛рдБ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди L4 рдкрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рдХреБрдЫ рд╣реИрдВ
рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджреВрдд рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрдХреНрд╖ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рдЪрд░реНрдЪрд╛
https://github.com/envoyproxy/envoy/issues/4128 рдФрд░
https://github.com/envoyproxy/envoy/issues/1031

рдмреБрдзрд╡рд╛рд░ рдХреЛ, рдЕрдкреНрд░реИрд▓ резреж, реирежрез реп рдХреЛ рез:рекреж рдкреВрд░реНрд╡рд╛рд╣реНрди рд╕реЗрдмрд╕реНрдЯрд┐рдпрди рд╡реИрди рд╕реНрдЯрд┐рдЬрди <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдХреЛрдИ рднреА рдХреЗрд╡рд▓ рдПрдХ рд╣реЛрд╕реНрдЯ рдХреЛ рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдореЗрдЬрдмрд╛рди, рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб-рдЬрд╛рд▓ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ
рд╕реЗрдЯ рдЕрдкред

рдЭреБрдВрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдорд╛рд░реНрдЧ
рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ (рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓
рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдореВрд▓ рдЖрдИрдкреА-рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛)ред

рдкреВрд░реЗ рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд┐рдЯрд╣рдм рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЫреБрдкрд╛рддрд╛ рд╣реИ
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛);

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЭреБрдВрдб рд╕рд┐рд░реНрдл рдореВрд▓ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рдФрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ
рдПрдХ рдПрдХреНрд╕-рдлрд╝реЙрд░рд╡рд░реНрдб-рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП?

#25526 рджреЗрдЦреЗрдВ (рдЯрд┐рдкреНрдкрдгреА)
https://github.com/moby/moby/issues/25526#issuecomment-367642600 ;
X-Forwarded-For is L7 рдкреНрд░реЛрдЯреЛрдХреЙрд▓; рдбреАрдПрдирдПрдЯреА рдХреЗ рд╕рд╛рде рдЖрдИрдкреАрд╡реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЭреБрдВрдб рдкреНрд░рд╡реЗрд╢ рдПрд▓ 4 рд╣реИ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-481415217 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsU5KdnWQ21hJx_xzc-QROJiWbAlulks5vfPOigaJpZM4Jf2WK
.

рдЭреБрдВрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ

рдпрд╣ рдЭреБрдВрдб рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреНрд▓рд╕реНрдЯрд░-рдлреБрд░реНрддреАрд▓реА рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рддрдм рддрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдХреЙрдиреНрд╕рд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рддрдм рдЕрдзрд┐рдХрддрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ ~ 100 рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИред рдЬрд╝рд░реВрд░, рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЭреБрдВрдб рдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдордЬреЗрджрд╛рд░ рддрдереНрдп: рдЯреНрд░реИрдлрд┐рдХ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХреМрдВрд╕рд▓ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреМрдВрд╕рд▓ рдХрд╣рддрд╛ рд╣реИ: рдЯреНрд░реИрдлрд┐рдХ рдЧрд▓рдд рдХрд░рддрд╛ рд╣реИред

@ port22 рдЖрдо рддреМрд░ рдкрд░ рд╣рдо рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ

рдореЗрд░рд╛ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдкреНрд░рд╡реЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдкреНрд░рд╡реЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдПрдХ рдХрд╛рдордХрд╛рдЬ рдирд╣реАрдВ рд╣реИред рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЕрднреА рднреА рдЭреБрдВрдб рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЙрд╕реЗ рдХреБрдЫ рд╣реИрдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред

DNAT рдХреЗ рд╕рд╛рде IPVS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ DNAT рдирд┐рдпрдо/рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рднреАрддрд░ MASQUERADE рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред ?

@ рдкреЛрд░реНрдЯ 22 рдореБрдЭреЗ рдЖрдкрдХреА рдмрд╛рдд рд╕рдордЭ рдореЗрдВ рдЖ рдЧрдИ, рд▓реЗрдХрд┐рди
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд┐рдЬ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рд╣реЛрдВ рдЬреИрд╕реЗ https://docs.docker.com/network/overlay/#customize -the-docker_gwbridge-interface
рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рд╕рдорд░реНрдерди рд╣реИред рддреЛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЕрдЧрд░ рдмрд╛рд╣рд░ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдбреЙрдХрд░реНрдб рдирд┐рдпрдореЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рджреЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИ
рдЗрд╕ рдмрдЧ рдореЗрдВ рдореБрджреНрджрд╛ред

рдмрд╕ рдЕрдЧрд░ рдХреЛрдИ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

https://github.com/moby/moby/issues/39465

рдмреБрдзрд╡рд╛рд░ рдХреЛ, резреж рдЕрдкреНрд░реИрд▓, реирежрезреп, реирез:рейрен рдбреЗрдирд┐рдпрд▓ рдХреНрд░реВрд╕рд┐рдпрд╛рдиреА, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@port22 https://github.com/port22 рдореБрдЭреЗ рдЖрдкрдХреА рдмрд╛рдд рд╕рдордЭ рдореЗрдВ рдЖ рдЧрдИ, рд▓реЗрдХрд┐рди docker рдкреНрд░рдмрдВрдзрди
рдЗрд╕рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╢реЛрд░рд╡реЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди
рдбреЛрдХрд░ рдирд┐рдпрдореЛрдВ/рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд╡рд╛рдж рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рдерд╛
рдбреЙрдХрд░ рдЭреБрдВрдб рдореЛрдб рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛ (рд▓реЗрдХрд┐рди рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдбреЙрдХрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдареАрдХ рд╣реИ, рдЬреИрд╕реЗ
рдЕрдм рддрдХ рдореИрдВ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЭреБрдВрдб рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ)
рд╢рд╛рдпрдж рд╡рд╣рд╛рдБ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдмреНрд░рд┐рдЬ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╣реИрдВ
https://docs.docker.com/network/overlay/#customize -the-docker_gwbridge-interface
рддреЛ рдЗрд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд▓рд╛рдкрддрд╛ рд╕рдорд░реНрдердиред рддреЛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐
рдЙрди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдбреЙрдХрд░реНрдб рдирд┐рдпрдореЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рджреЗрдЧрд╛
рдмрд╛рд╣рд░ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526#issuecomment-481754635 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAEsUxsVQ7m9uiYbHhNKMMtkhTZV6iTNks5vfgwygaJpZM4Jf2WK
.

3 рд╕рд╛рд▓ рдмрд╛рдж рдХреЛрдИ рдлрд┐рдХреНрд╕ рдирд╣реАрдВ?

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рд▓реЗрдХрд┐рди рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдХреЗ рд╕рд╛рдеред рдпрджреНрдпрдкрд┐ рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд░рдЦрдирд╛ рдареАрдХ рд╣реИ рдФрд░ рдПрдЪрдП рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХреЗрд╡рд▓ рд▓рд╛рдкрддрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓реЛрдб рд╕рдВрддреБрд▓рди рд╣реЛрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡реЗрдм рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЬрдм рддрдХ рдЬрдЯрд┐рд▓ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдмреИрдХрдПрдВрдб рдПрдХ рд╣реА рднреМрддрд┐рдХ рдорд╢реАрди рдкрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдПрдирдЖрдИрд╕реА рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ рдФрд░ ...

рддреЛ рдХреНрдпрд╛ рдЖрдВрддрд░рд┐рдХ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдЬреА рдкрддреЗ рдХреЗ рдмрдЬрд╛рдп рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрддреЗ рдХреЛ рджреЗрдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ? рдлрд┐рд░ рднреА?

@thaJeztah рдХреНрдпрд╛ рдбреЙрдХрд░ рдЗрдВрдХ рдЯреАрдо рдореЗрдВ рдХреЛрдИ рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдЕрднреА рднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░/рдпрд╛ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдХреЛрдИ рдИрдЯреАрдП? рдпрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рдж рд╕реЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдпрд╣ рд▓рдЧрднрдЧ 3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: /

@thaJeztah https://github.com/thaJeztah рдХреНрдпрд╛ рдбреЙрдХрд░ рдЗрдВрдХ рдкрд░ рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдЯреАрдо рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреА рд╣реИред рдХреНрдпрд╛ рдЕрднреА рднреА рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?
рдФрд░/рдпрд╛ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛? рдХреЛрдИ рдИрдЯреАрдП? рдпрд╛ рдбреЙрдХрд░ рдХреЗ рдмрд╛рдж рд╕реЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг? рдпрд╣ рд▓рдЧрднрдЧ 3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: /

рдпрд╣ рдХрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ ("рдареАрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛") рддрд╛рдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХреВрдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рдХрд╛ рдФрдЪрд┐рддреНрдпред рдХрд┐рддрдиреА рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИред

рдзрдиреНрдпрд╡рд╛рджред

>

рд╢рд╛рдпрдж рд╡реЗ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЬрд╡рд╛рдм рджреЗрдВрдЧреЗ?

https://twitter.com/suretec/status/1160496779386904576?s=19

рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡реГрджреНрдзрд┐ рдЕрдиреБрд░реЛрдз рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - https://github.com/moby/moby/issues/39465

рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╡рд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВ

рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд╕ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ :-)

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реЛрдзрдХ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдмрд╣реБрдд рдЦреЛрдЬ рдХреЗ рдмрд╛рдж (рд╡рд╛рд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 3 рд╕рд╛рд▓ рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж ...) рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЭреБрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрддреНрддрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ haproxy рдХреЗ рдкреАрдЫреЗ traefik рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдХрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ 2016 рд╕реЗ рдЕрдм рддрдХ рдЗрд╕рдореЗрдВ 254 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВред

@Betriebsrat рдЯреНрд░реИрдлрд╝рд┐рдХ рд╣реИрдВрдбрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рддреБрд░рдВрдд рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд░реВрд░реА рд╣реИ, рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЖрджрдд рд╣реИ? рдпрджрд┐ рдЖрдк рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкрддреЗ рджреЗрдЦреЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ :)

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ "рд╕рдорд╛рдзрд╛рди" рдХрд╛ рдХрдИ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд▓реЛрдЧ рдЗрд╕реЗ рдпрд╛рдж рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рднреА рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдХрднреА-рдХрднреА рдпрд╣ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛрддрд╛, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@ajardan рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рдлреНрд░рдВрдЯрдПрдВрдб рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкреВрд░рд╛ рдЭреБрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЫреЛрдЯреЗ рдкреИрдорд╛рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╕реЗрд╡рд╛ рдХреЛ host рдореЛрдб рдореЗрдВ рдлрд╝реНрд▓рд┐рдк рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдирд┐рдЧрд▓рдирд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рд╣реЛрд╕реНрдЯ рдореЛрдб рдореЗрдВ рд░рдЦрдиреЗ рд╕реЗ рдЙрди рд▓рд╛рднреЛрдВ рдХреЛ рдирдХрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЭреБрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ :(

@pattonwebz рд╣реЛрд╕реНрдЯ рдореЛрдб рдХреЛ рдХрдИ рд╣реЛрд╕реНрдЯ рдкрд░ рдХрдИ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдореЛрдб = рдЧреНрд▓реЛрдмрд▓ рдХреЗ рд╕рд╛рде рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрдкрдХреЗ рд╕рднреА рдЭреБрдВрдб рдиреЛрдбреНрд╕ рдкрд░ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдЗрди рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░реВрдЯ рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реИрд╢реНрд╡рд┐рдХ рдореЛрдб рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдкреНрд░рдмрдВрдзрдХ рдиреЛрдбреНрд╕ рддрдХ рд╕реАрдорд┐рдд рдерд╛, рдФрд░ рдпрд╣ рд╣рдЬрд╛рд░реЛрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдпрджрд┐ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рд╡рд┐рд╕реНрддреГрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@pattonwebz @ajardan рдореИрдВ рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИрдкреНрд░реЛрдХреНрд╕реА рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рд╕рд┐рд░реНрдл 2 рдПрдордмреА рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирдЧрдгреНрдп рд╣реИред

@pattonwebz рдКрдкрд░ рджрд┐рдП рдЧрдП @ajardan рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк https://hub.docker.com/r/decentralize/swarm-tcp-proxy рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЛрдб рдореЗрдВ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝ рд╕рдХреЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЗрдбрд░ рдХреЛ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП Traefik рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВред

рдбреЙрдХрд░ рдЭреБрдВрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЭрдВрдбрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрди рд╕рднреА рдХреЛ рдирд╣реАрдВ
рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди IMHOред

рд╣рдо рд╕рд┐рд░реНрдл рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдФрд░ рдСрдлрд▓реЛрдб рдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд▓реЛрдЧ рдпрд╛рдж рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдХрд┐ "рд░рдирд┐рдВрдЧ рдЗрдЬ рд╣реЛрд╕реНрдЯ рдореЛрдб" рд╕рдорд╛рдзрд╛рди рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдбреЙрдХ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗред
рдкреВрд░рд╛ рдзрд╛рдЧрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ 'рдпреВрдЬрд╝ рд╣реЛрд╕реНрдЯрдореЛрдб' -> 'рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдХрд╛рд░рдг" рд╕рд░реНрдХрд▓ рд╣реИ рдЬреЛ рдЕрдм 3 рд╕рд╛рд▓ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдпрд╣рд╛рдВ рдлрд┐рд░ рд╕реЗ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ swarm-tcp-proxy рдХреЛ рджреЗрдЦреВрдВрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрддреАрдд рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдЪреАрдЬреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХреБрдЫ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕реМрджрд╛ рдмреАрдХрд░ рдмрди рдЧрдпрд╛ред

рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдореЗрд░рд╛ рдореМрдЬреВрджрд╛ (рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛) рдЭреБрдВрдб рд╕рд┐рд░реНрдл рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛ рдкрд░рддреЛрдВ рдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЖрдИрдкреА рдбреЗрдЯрд╛ рд╕реЗ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реЛрдЧрд╛ред

рд▓реЛрдЧ рдпрд╛рдж рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдХрд┐ "рд░рдирд┐рдВрдЧ рдЗрдЬ рд╣реЛрд╕реНрдЯ рдореЛрдб" рд╕рдорд╛рдзрд╛рди рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ (рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ) рдмрд╣реБрдд рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЕрднреА рднреА рдбреЙрдХрд░ рдХреЗ рдореВрд▓ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрдк рдХреЗрд╡рд▓ рдбреЙрдХрд░ рдХреЗ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдХреЛ рд╣рд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдореЗрдВ рдПрдХ рдкрд░рдд рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред

@Betriebsrat traefik рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрднреА рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ @matthanley рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдбреЙрдХрд░ рд▓реЛрдб рд╕рдВрддреБрд▓рди рджреВрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмреИрдХрдПрдВрдб рдореЗрдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЭреБрдВрдб рдХреЗ LB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд╕реЗрд╡рд╛ VIP рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдЧрд╛, рдЬрд╣рд╛рдБ рдЭреБрдВрдб рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред

рдпрд╣ рдкреНрд░рддрд┐ рд╕реЗрд╡рд╛ рднреА рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХрд╛рдлреА рд▓рдЪреАрд▓реЗ рд╣реИрдВред

рдЖрдк docker рдЭреБрдВрдб рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдФрд░ Nginx рд╕рд░реНрд╡рд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЭреБрдВрдб рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ Niginx conf рдореЗрдВ рдХреЗрд╡рд▓ рдлреЙрд░рд╡рд░реНрдб рд╣реЗрдбрд░ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
рд╕реНрдерд╛рди / {
рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕ http://phpestate;

    #Proxy Settings
    proxy_redirect     off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЛрдХрд░ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рд╣рдордиреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреА рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛:
https://github.com/moby/moby/issues/25526#issuecomment -475083415

рдпрд╣ рдПрдХ рдЧреИрд░-рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рд╡реЗрд╢ рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рд╡реЗ рдЕрдм рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИрдВ)

рдХрдард┐рдирд╛рдИ рдЯреАрд╕реАрдкреА/рдпреВрдбреАрдкреА рдореЗрдВ рдбреЙрдХрд░ рд╕реМрджреЛрдВ рдХреА рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рдПрдХ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ "рдирдХрд▓реА" рдХрд░реЗрдЧрд╛, рдЬреЛ рдЗрд╕реЗ рдЭреБрдВрдб рдореЗрд╖ рд╕реЗ рдЕрдкрдирд╛ рдЖрдВрддрд░рд┐рдХ рдЖрдИрдкреА рджреЗ рд░рд╣рд╛ рд╣реИ ...

рдкреНрд░рддреНрдпреЗрдХ http рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

рд╕рд╣реАред рдмрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП - рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЗрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ l4 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдФрд░ l7 рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЬреНрдЮрд╛рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ (рд╕рд╛рде рд╣реА рд╕рд╛рде) рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛)ред

рдореИрдВрдиреЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдмрдЧ рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ
рдКрдкрд░ред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдЙрд╕ рдмрдЧ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

рдЧреБрд░реБ, 5 рд╕рд┐рддрдВ,, 2019, 18:56 рд╡реНрд▓рд╛рджрд┐рдореАрд░ рдкрд░, [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛
рдПрдЪрдЯреАрдЯреАрдкреА рдЕрдиреБрд░реЛрдзред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/25526?email_source=notifications&email_token=AAASYU7APUNJPLZ6AJ6XXMDQIECIJA5CNFSM4CL7MWFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVW83GOD61260 рдореБрджреНрджрд╛ ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAASYU4VZGKUFLL5STZ44GDQIECIJANCNFSM4CL7MWFA
.

рдЗрд╕рдХрд╛ 2019 рдФрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ ?? рдпрд╣ рдЯреНрд░реИрдлрд┐рдХ рдкрд░ рдЖрдИрдкреА рд╡реНрд╣рд╛рдЗрдЯрд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдПрдХ рджрд░реНрдж рдмрдирд╛ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

@kaysond рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдЭреБрдВрдб рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рд░рд╣реА рд╣реИред рд╣рдо AWS рдФрд░ ECS рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рдФрд░ рд░рдЪрдирд╛рддреНрдордХ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд▓реЗрдХрд┐рди рдЕрдВрддрддрдГ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд╛рдо рдХрд░реЗ; рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдореБрдЦ рдЭреБрдВрдб рдмрдЧ (рдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдХрдореА) рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдХреЛ рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕реБрдзрд╛рд░/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИред рд╕рдмрд╕реЗ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБред

@jmkgreen рд╣рдо рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ 6+ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдбреЙрдХрд░ рдЭреБрдВрдб рд╕реЗ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдореЗрдВ рдЬрд╛рдиреЗ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдЪрд▓ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рджрд░реНрдЬрдиреЛрдВ рдШрдВрдЯреЗ рдЦреБрдж рдХреЛ рдФрд░ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕реИрдХрдбрд╝реЛрдВ рдШрдВрдЯреЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рдЧрд╛ рджрд┐рдпрд╛ рд╣реИред рд╕рднреА рдореЗрдЬрдмрд╛рди рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╣рдорд╛рд░реЗ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдПрд▓рдмреА рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ :(

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ? рдЖрдк рд╣реЛрд╕реНрдЯ рдореЛрдб + рдЧреНрд▓реЛрдмрд▓ рдкрд░ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдПрд▓рдмреА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рд╣рд▓реНрдХрд╛ рд╣реИ (рдореИрдВ nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ https рдСрдлрд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рд╕рд╛рдорд╛рди рдХрд░рддрд╛ рд╣реВрдВ), рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рд╣реИ, рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рд╕рдВрд╕рд╛рдзрди рдХреЗ 1% рд╕реЗ рдХрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ([email protected])ред

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ? рдЖрдк рд╣реЛрд╕реНрдЯ рдореЛрдб + рдЧреНрд▓реЛрдмрд▓ рдкрд░ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдПрд▓рдмреА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@RemiBou рдЬрдм рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЦреБрдж рдХреЛ рдЕрдкрдбреЗрдЯ/рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рддреБрд░рдВрдд рдЖрдЙрдЯреЗрдЬ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдиреЛрдб рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд░рд╣рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░реЙрдХреНрд╕реА рдЕрднреА рднреА рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛ рд░рд╣рд╛ рд╣реИред рддреЛ рдмрд╛рд╣рд░реА рдПрд▓рдмреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ ~ 30-рд╕реЗрдХрдВрдб рдХрд╛ рдЖрдЙрдЯреЗрдЬ рд╣реИред

рдЭреБрдВрдб рдореЗрдВ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЕрджреНрдпрддрди рдХреЗ рджреМрд░рд╛рди рд╕реЗрд╡рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдиреЛрдб рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╣реБрдХ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, " i_am_healthy " рдзреНрд╡рдЬ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдмрд╛рд╣рд░реА рдПрд▓рдмреА рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рджреЗрдВ рдХрд┐ рдпрд╣ рдорддрджрд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрд╡рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИ)ред

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ?

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд▓рд┐рдП рдореЗрдЬрдмрд╛рди рдкрд░ рдПрдХ рд╣реА рд╕реЗрд╡рд╛ (рдпрд╛ рдХрдИ рд╕реЗрд╡рд╛рдПрдВ рдЬреЛ рдПрдХ рд╣реА рдмрдВрджрд░рдЧрд╛рд╣ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрднрд╡ рд╣реИред рдореИрдВ рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЙрдирдХреА рдпрд╣реА рдЬрд░реВрд░рдд рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдХреЛ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рдХреЗрд╡рд▓ рдпрд╣реА рдХрд░реЗрдЧреА рдФрд░ рдлрд┐рд░ рдЬрдм рдЖрдИрдкреА рдЭреБрдВрдб рдХреЗ рдЕрдВрджрд░ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП http рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдХреЛ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рдХреЗрд╡рд▓ рдпрд╣реА рдХрд░реЗрдЧреА рдФрд░ рдлрд┐рд░ рдЬрдм рдЖрдИрдкреА рдЭреБрдВрдб рдХреЗ рдЕрдВрджрд░ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП http рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдВ... рдФрд░ рдЬрдм рддрдХ рдЙрд╕ рдкрддрд▓реА рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдХреЛ рдХрднреА рднреА рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдпрд╛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддрдм рддрдХ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдб рдПрд▓рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдХрд┐рд╕реА рдиреЗ https://hub.docker.com/r/decentralize/swarm-tcp-proxy рдкрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП haproxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рддрд░рд╣ рдХрд╛ рджрд░реНрджред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╣реИред

@ ms1111 Nginx

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ?

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реЛрд╕реНрдЯ-рдПрдХреНрд╕рдкреЛрдЬрд╝реНрдб рдкреЛрд░реНрдЯ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдмрд╛рдБрдзрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕рднреА рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдЧрдВрддреБрдХ рдХреЗ рдЖрдИрдкреА рдФрд░ рд╕рдорд░реНрдерди рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдирдХреЗ рдкреЛрд░реНрдЯ рдХреЛ рд╣реЛрд╕реНрдЯ рдкрд░ 0.0.0.0 рдкрд░ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЗрд╖реНрдЯрддрдо рд╕реЗ рдХрдо рд╣реИред

рдПрдХ рдФрд░ рдЧреИрд░-рдирдЧрдгреНрдп рдкреНрд░рджрд░реНрд╢рди рд╣рд┐рдЯ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕реИрдХрдбрд╝реЛрдВ рдирдП рдХрдиреЗрдХреНрд╢рди рд╣реЛрддреЗ рд╣реИрдВ - рд╕рднреА рдЙрдЬрд╛рдЧрд░ рдмрдВрджрд░рдЧрд╛рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ iptables рдореЗрдВ рдбреАрдПрдирдПрдЯреА рдирд┐рдпрдо рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП conntrack рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ (k8s рднреА рд╣рд┐рдЯ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЭреБрдВрдб рдореЗрдВ рдпрд╣ рд╣реИ NAT рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдЬреЛ рдЗрд╕реЗ рдмрджрддрд░ рдмрдирд╛рддрд╛ рд╣реИ)ред

рдбреЛрдХрд░ рдХреЛ,

рдЙрдареЛ! рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдХрд┐рддрдиреЗ рд▓реЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рд╣реИ (рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдиреНрдп рднреА рд╣реИрдВ)ред рд╣рдо рдХреЗрд╡рд▓ рдРрд╕реЗ рд▓реЛрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред "рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб" рд╢рдмреНрдж рд╣реА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдмрд╛рдд рд╣реИ рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдирд╛рдП рд╣реБрдП 3 рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ "рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ"ред

рд╕рднреА рдЭреБрдВрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП,

рдЖрдЗрдП рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдмрдиреЗрдВред рджреБрдЦрдж рд╕рдЪреНрдЪрд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рд╕рд╣рд┐рдд рдХрд┐рд╕реА рдХреЛ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЭреБрдВрдб рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред рд╣рд░ рдХреЛрдИ k8s рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдЭреБрдВрдб рдореЗрдВ рдХреЛрдИ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдирд┐рд╡реЗрд╢ рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреАрд╡рди-рд╕рдорд░реНрдерди рдкрд░ рд╣реИ рдФрд░ рдорд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдареАрдХ рд╣реЛрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВред рд╕реНрдорд╛рд░реНрдЯ рдмрдиреЗрдВ рдФрд░ k8s рдХреА рдУрд░ рдмрдврд╝реЗрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХрднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдмрд╕ рдкреАрдЫрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдЯреЗрдВ рдФрд░ k8s рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

@leojonathanoh рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ

рд╕рд░рд▓: рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓

@ajatkj рдЬреИрд╕рд╛ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдпрд╛, рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдФрд░ externalTrafficPolicy: Local Service рд╕рдВрд╕рд╛рдзрди рдкрд░

рд▓реЛрдЧ рдХреНрдпреЛрдВ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рджреВрд╕рд░реЗ рд▓реЛрдЧ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ?

рдореБрдЭреЗ рд╣реАрд░реЛ рдмрдирдирд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдХрдИ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХрд╛ рдореЗрд░реЗ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ? рд╣рдореЗрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рдорджрдж рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛!

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдИрдкреАрд╡реАрдПрд╕ рдПрдирдПрдЯреА рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЬрд╛рджреБрдИ рдЭреБрдВрдб рд░реВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ рдХрд┐ k8s рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдмреЗрд╣рддрд░ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдХрд┐ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдлрд┐рд░ k8s рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдзрдордХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЗрд╢реНрдпреВ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдХреЛрдИ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИред

рд▓реЛрдЧ рдЕрдкрдиреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдЬреНрдЮрд╛рди рд╕реЗ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рд╕рднреА рдХреЗ рдкрд╛рд╕ рдХреЛрдб рдХреЛ рд╕реНрд╡рдпрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдХреМрд╢рд▓ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдо рд╕рд╣рдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдмрдирд╛рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдХреЛрдИ рдпрд╣ рддрд░реНрдХ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @sandys рджреНрд╡рд╛рд░рд╛ рдЦреЛрд▓реЗ рдЧрдП рдореБрджреНрджреЛрдВ рдкрд░ рднреА рдХреЛрд░ рдЯреАрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реБрдИред рддреЛ рдХреЛрдИ рдЗрд╕ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВ?

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдЖрдирд╛, рдЕрд░реНрдерд╛рддред рдЖрдк рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред рдпрд╣ рдХреНрдпрд╛ рд▓рд╛рддрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдмрд╛рдк рдХрд╛ рдХреНрдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдЖрдирд╛, рдЕрд░реНрдерд╛рддред рдЖрдк рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред рдпрд╣ рдХреНрдпрд╛ рд▓рд╛рддрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдмрд╛рдк рдХрд╛ рдХреНрдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдпрд╣рд╛рдВ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ: #39465

рд╣реЛрд╕реНрдЯ-рдореЛрдб-рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

рдХреГрдкрдпрд╛ рдХрдореЗрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░рд╛ рд╕реВрддреНрд░ рдкрдврд╝реЗрдВ

"рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ", рдЬрдмрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛
рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рднреЛрд▓рд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдХреНрдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреЗрдЯрд╡реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реИрд╕реЗ рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рднрд▓реЗ рд╣реА рдпрд╣ рдЭреБрдВрдб рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛ рд╣реЛ, рдЧреЗрдЯрд╡реЗ рдЗрд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рд╣реИ ...

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рднреЛрд▓рд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдХреНрдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреЗрдЯрд╡реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реИрд╕реЗ рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рднрд▓реЗ рд╣реА рдпрд╣ рдЭреБрдВрдб рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛ рд╣реЛ, рдЧреЗрдЯрд╡реЗ рдЗрд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рд╣реИ ...

рдпрд╣ рдЬрд╛рдирдирд╛ рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЖрдИрдкреА рд╕реЗ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдЖ рд░рд╣реА рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реЛ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдХреЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдЕрд░реНрдерд╛рдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдЕрдиреБрд░реЛрдз рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЕрдиреНрдп рдХреЗрд╡рд▓ рдЖрдИрдкреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдиреАрддрд┐ рдЖрдИрдкреА + рдЕрдиреБрд░реЛрдз-рд╕рд╛рдордЧреНрд░реА => рдЕрдиреБрдорддрд┐/рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╣реИ)ред

рдпрд╛, рдЕрдзрд┐рдХ рдмрд╛рд░, рдХреЗрд╡рд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реЗрд╡рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдмрд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╕рд╛рд░рдгреАрдмрджреНрдз рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдордп, рд╕рдВрд╕рд╛рдзрди рдХреА рдорд╛рддреНрд░рд╛, рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕реНрд░реЛрдд рдЖрдИрдкреАред рд▓рдЧрднрдЧ рд╣рд░ рд╕реЗрд╡рд╛ рдХрд╛ рдмрд┐рд▓ рдЗрд╕ рддрд░рд╣ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдореЗрд░реЗ рдкреНрд░рд╢реНрди рдХреЛ рдЧрд▓рдд рд╕рдордЭрд╛ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реЗрд╡рд╛рдПрдВ рд╕рд╣реА рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреНрдпреЛрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреАред рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЙрдХрд░ рдЗрд╕реЗ рдХреНрдпреЛрдВ рдмрджрд▓рддрд╛ рд╣реИ?

1 рдирд╡рдВрдмрд░, 2019, 1:47 рдкреВрд░реНрд╡рд╛рд╣реНрди, 1:47 рдмрдЬреЗ, рдбреЗрдирд┐рдпрд▓ рдХреНрд░реВрд╕рд┐рдпрд╛рдиреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рднреЛрд▓рд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реИ?
рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? рдХреНрдпрд╛ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреЗрдЯрд╡реЗ рд╡реИрд╕реЗ рднреА? рднрд▓реЗ рд╣реА рдпрд╣ рдЭреБрдВрдб рднрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛ рд╣реЛ
рдмреИрд▓реЗрдВрд╕рд░, рдЧреЗрдЯрд╡реЗ рдЗрд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╛рддрд╛рдпрд╛рдд рдХрд╣рд╛рдБ рд╕реЗ рдЖрдпрд╛ рдерд╛ ...

рдпрд╣ рдЬрд╛рдирдирд╛ рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЖрдИрдкреА рд╕реЗ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдЖ рд░рд╣реА рд╣реИред рд╢рд╛рдпрдж рдПрдХ
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдмрд╛рд╣рд░реА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
рд╕реЗрд╡рд╛ рдЪрд▓ рд░рд╣реА рд╣реИ, рдпрд╛рдиреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдЕрдиреБрд░реЛрдз рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ
рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХреЗрд╡рд▓ рдЖрдИрдкреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреНрдп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдиреАрддрд┐
рдЙрджрд╛рд╣рд░рдг рдЖрдИрдкреА + рдЕрдиреБрд░реЛрдз-рд╕рд╛рдордЧреНрд░реА => рдЕрдиреБрдорддрд┐/рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╣реИ)ред

рдпрд╛, рдЕрдзрд┐рдХ рдмрд╛рд░, рдХреЗрд╡рд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдмрд┐рд▓ рджреЗрдирд╛ рд╣реИ
рдореЗрд░реЗ рд╕реЗрд╡рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдФрд░ рдореБрдЭреЗ рд╕рд╛рд░рдгреАрдмрджреНрдз рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдХрд╛ рд╕рдордп
рдЕрдиреБрд░реЛрдз, рд╕рдВрд╕рд╛рдзрди рдХреА рдорд╛рддреНрд░рд╛, рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕реНрд░реЛрдд рдЖрдИрдкреАред рд▓рдЧрднрдЧ рд╣рд░ рд╕реЗрд╡рд╛
рдмрд┐рд▓ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/moby/moby/issues/25526#issuecomment -548711563

@kaysond рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред

рдЖрдк рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рджреЛ рдкреНрд░рд╢реНрди рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ,

  1. рдЖрдИрдкреАрд╡реАрдПрд╕ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░
  2. рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП libnetwork IPVS рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ

рджреЛрдиреЛрдВ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдХрд╣рд╛рдБ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдореИрдВ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рд╣реВрдБ рдФрд░ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рд╕рдВрджрд░реНрдн рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред

@kaysond рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред

рдЖрдк рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рджреЛ рдкреНрд░рд╢реНрди рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ,

  1. рдЖрдИрдкреАрд╡реАрдПрд╕ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░
  2. рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП libnetwork IPVS рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ

рджреЛрдиреЛрдВ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░реА?

рдореИрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЯреНрд░реИрдлрд┐рдХ рдХреЗ рдкреАрдЫреЗ рдЭреБрдВрдб рдореЗрдВ рдХреБрдЫ

рдмрд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХреА:

Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea838
 Built:             Wed Nov 13 07:29:52 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea838
  Built:            Wed Nov 13 07:28:22 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЛрдХрд░ рд▓рд┐рдЦреЗрдВ:

version: "3.3"

services:

  traefik:
    image: "traefik:v2.0.0-rc3"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.swarmMode=true"
      - "--providers.docker.endpoint=unix:///var/run/docker.sock"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  whoami:
    image: "containous/whoami"
    container_name: "simple-service"
    deploy:
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.whoami.rule=HostRegexp(`{any:.*}`)"
        - "traefik.http.routers.whoami.entrypoints=web"
        - "traefik.http.services.whoami.loadbalancer.server.port=80"

whoami рдЙрддреНрдкрд╛рджрди рдерд╛:

Hostname: 085c373eb06d
IP: 127.0.0.1
IP: 10.0.1.10
IP: 172.19.0.4
RemoteAddr: 10.0.1.11:51888
GET / HTTP/1.1
Host: testserver.nub.local
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Dnt: 1
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 10.0.0.2
X-Forwarded-Host: testserver.nub.local
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: ad14e372f6e9
X-Real-Ip: 10.0.0.2

рддреЛ рдирд╣реАрдВред рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ .... рдХреНрдпрд╛ рдХреБрдЫ рджреЗрд╡ рдореБрдЭреЗ рдЙрд╕ рдХреЛрдб рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЭреБрдВрдб рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ?

рдмрд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХреА:

Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea838
 Built:             Wed Nov 13 07:29:52 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea838
  Built:            Wed Nov 13 07:28:22 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЛрдХрд░ рд▓рд┐рдЦреЗрдВ:

version: "3.3"

services:

  traefik:
    image: "traefik:v2.0.0-rc3"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.swarmMode=true"
      - "--providers.docker.endpoint=unix:///var/run/docker.sock"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  whoami:
    image: "containous/whoami"
    container_name: "simple-service"
    deploy:
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.whoami.rule=HostRegexp(`{any:.*}`)"
        - "traefik.http.routers.whoami.entrypoints=web"
        - "traefik.http.services.whoami.loadbalancer.server.port=80"

whoami рдЙрддреНрдкрд╛рджрди рдерд╛:

Hostname: 085c373eb06d
IP: 127.0.0.1
IP: 10.0.1.10
IP: 172.19.0.4
RemoteAddr: 10.0.1.11:51888
GET / HTTP/1.1
Host: testserver.nub.local
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Dnt: 1
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 10.0.0.2
X-Forwarded-Host: testserver.nub.local
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: ad14e372f6e9
X-Real-Ip: 10.0.0.2

рддреЛ рдирд╣реАрдВред рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╣реЛрд╕реНрдЯ рдореЛрдб рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

ports:
      - target: 80
        published: 80
        mode: host
      - target: 443
        published: 443
        mode: host

рдЕрднреА рднреА рдЦреБрд▓рд╛?
2020-05-08

рдЕрднреА рднреА рдЦреБрд▓рд╛?
2020-05-08

рд╣рд╛рдБ, рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИред рдзрд╛рдЧреЗ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╡рд╛рд╕реНрддреБ рд╕рдВрдмрдВрдзреА рдореБрджреНрджреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рддрд╣ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрди рдореБрджреНрджреЛрдВ рдХреЛ рджреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдпрд╣рд╛рдВ рдереНрд░реЗрдб рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП HOST рдореЛрдб рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЛрдбреНрд╕ рдкрд░ рдорд╛рдкрдиреАрдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╣рдореЗрдВ DigitalOcean LB -> Traefik -> Apache рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИред рдЕрдкрд╛рдЪреЗ рдХрдВрдЯреЗрдирд░ рд╕реЗрд╡рд╛ рдХреЛ рд╣рд┐рдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рддрдм рддрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рд╕рднреА рдкреНрд░реЙрдХреНрд╕реА рдкрд░рддреЗрдВ PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВред

https://docs.traefik.io/v1.7/configuration/entrypoints/#proxyprotocol

рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд╛ 'рдЗрдирдЧреНрд░реЗрдб' рдирд╛рдо рдХреЗ рдПрдХ рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣реИ, рдЕрдкрд╛рдЪреЗ рд╕реЗрд╡рд╛ рдХрд╛ рдЕрдкрдирд╛ рд╕реНрдЯреИрдХ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░реА рдХреЗ рд░реВрдк рдореЗрдВ 'рдЗрдирдЧреНрд░реЗрдб' рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рднреА рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

https://autoize.com/logging-client-ip-addresses-behind-a-proxy-with-docker/

2020 рдФрд░ рдЕрднреА рднреА рддрдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЦреАрдВрдЪрддрд╛рди рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ

рдпрд╣ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИред рдХреБрдЫ рд╣реЛрд╕реНрдЯ рдореЛрдб рд░рдЦреЛ рдмрд╕ рдПрдХ рдкреИрдЪ рд╣реИ, рдХрднреА-рдХрднреА рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреАрдЫреЗ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЙрдкрдпреЛрдЧ рдФрд░ рд╕реЗрдЯрдЕрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдФрд░ рд╣реЛрд╕реНрдЯ рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдбреЙрдХ рдЭреБрдВрдб рдЪрд▓рд╛рдирд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рднреВрддрдкреВрд░реНрд╡ред рд╡реЗрдм рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ред рднреВрддрдкреВрд░реНрд╡ред рдЬреЗрдПрд╕ -> рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдмреИрдХрдПрдВрдб рдХреЗрд╡рд▓ рдЖрдИрдкреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЯреЛрдХрди рдпрд╛ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдИрдкреА рдХреЛ рд╣реЗрдбрд░ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛

@ рджрд╛рдорд┐рджрд╛рд░рд╛16 рдареАрдХ рдпрд╣реА рд╣рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рдЖрдк рдЬреИрд╕реЗ рдЪрд╛рд╣реЗрдВ рдЗрд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмреБрд░рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ ... рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ

рдмреБрд░рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ ... рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЬреАрдердм рдиреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдИ рдмрдЧреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмреБрд░рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ ... рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЬреАрдердм рдиреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдИ рдмрдЧреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЙрджреНрдпрдореЛрдВ рдХреА рдлреВрд▓реА рд╣реБрдИ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдХрднреА рднреА рдареАрдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдХрдо рд╣реИред AFAIK рд╣рд░ рдХреЛрдИ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ k8s рдиреЗ "рджреМрдбрд╝" рдЬреАрддреА рд╣реИ рдФрд░ рдЭреБрдВрдб рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рджреЛрдиреЛрдВ рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЯреАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдХреМрд╢рд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдареАрдХ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрд░рдЖрдИрдкреА рдЭреБрдВрдб :)

рдореИрдВ рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд HAIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЭреБрдВрдб рдХреЗ рд╕рд╛рдордиреЗ рдХреБрдЫ рдФрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди nginx рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЬреЛ рдЖрдкрдХреЗ рдЭреБрдВрдб рдХреЗ рдЖрдИрдкреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/

рдЖрдкрдХреЗ рдЭреБрдВрдб рдореЗрдВ, рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

server {
        listen 443 ssl proxy_protocol;
        location / {
        proxy_set_header   X-Real-IP $proxy_protocol_addr;  # this is the real IP address 

рдпрджрд┐ рдЖрдк рдПрдХ рдЭреБрдВрдб рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЭреБрдВрдб (рдпрд╛ рдЪрд┐рдкрдЪрд┐рдкрд╛, рдЖрджрд┐) рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЕрдм рддрдХ, рдпрд╣ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдирд┐рд░реНрдгрдп рдПрдХ "рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝рд╛" рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рд▓рдЪреАрд▓рд╛рдкрди рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрдирдмрд┐рд▓реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╣рдЯрд╛рдХрд░ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, _current_ рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдХрд┐ рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╕рднреА рдХреЛ рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП --constraint-add='node.hostname==mynode', рдпрд╛ рдПрдХ рдХреЗ рд╕рд╛рде рдЭреБрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдиреЛрдб рд╣реЛрддрд╛ рд╣реИред

рд╕рдорд╕реНрдпрд╛

рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ iptables nat рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ ingress_sbox рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ SNAT рдирд┐рдпрдо рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЗрдирдЧреНрд░реЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдиреЛрдб рдХрд╛ IP рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреИрд╕реЗ 10.0.0.2, 10.0.0.3, . .., рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ), рдЬреИрд╕реЗ:

iptables -t nat -A POSTROUTING -d 10.0.0.0/24 -m ipvs --ipvs -j SNAT --to-source 10.0.0.2

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдПрд╕рдПрдирдПрдЯреА рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдЕрднреА рднреА рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ - рдЕрдм рдореВрд▓ рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛ рд░рд╣реЗ рд╣реИрдВ - рдореВрд▓ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреЗрдЯрд╡реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд╣реА рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рд╣реИ рдмрд▓реНрдХрд┐ рдЪрд╛рд▓реВ рд╣реИ docker_gwbridge рдиреЗрдЯрд╡рд░реНрдХ (рдЬреИрд╕реЗ 172.31.0.1), рдФрд░ рдлрд┐рд░ рд╡реЗ рдкреИрдХреЗрдЯ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВред

рд╕рдорд╛рдзрд╛рди

рддреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: 1. ingress_sbox рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрд╕ SNAT рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛рдирд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд░реЛрдХрдирд╛); рдФрд░ 2. рдЭреБрдВрдб рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо рдмрдирд╛рдирд╛, рдЬреЛ рдЙрди рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдиреЛрдб рдХреЗ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдИрдкреА рдкрддреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 10.0.0.2); 3. рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛, рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЙрдиреНрд╣реЗрдВ рддреБрд░рдВрдд рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

  1. SNAT рдирд┐рдпрдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдПрдХ рдирд┐рдпрдо рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп SNAT рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ:
nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t nat -I POSTROUTING -d $INGRESS_SUBNET -m ipvs --ipvs -j ACCEPT

(рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рдореМрдЬреВрджрд╛ рдПрд╕рдПрдирдПрдЯреА рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдХрдИ рдмрд╛рд░ рдПрд╕рдПрдирдПрдЯреА рдирд┐рдпрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрд╕ рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИ)ред

  1. рдХрдВрдЯреЗрдирд░ рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
docker inspect -f '{{.State.Pid}}' <container-id>
nsenter -n -t $NID bash -c "ip route add table 1 default via 10.0.0.2 && ip rule add from 10.0.0.0/24 lookup 1 priority 32761"
  1. рдЕрдВрдд рдореЗрдВ, рдЙрдкрд░реЛрдХреНрдд рдХреЛ docker event рд╕рд╛рде рдорд┐рд▓рд╛рдХрд░ рд╣рдо SNAT рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдирдП рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ ingress-routing-daemon рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
#!/bin/bash

# Ingress Routing Daemon
# Copyright ┬й 2020 Struan Bartlett
# --------------------------------------------------------------------
# Permission is hereby granted, free of charge, to any person 
# obtaining a copy of this software and associated documentation files 
# (the "Software"), to deal in the Software without restriction, 
# including without limitation the rights to use, copy, modify, merge, 
# publish, distribute, sublicense, and/or sell copies of the Software, 
# and to permit persons to whom the Software is furnished to do so, 
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be 
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
# SOFTWARE.
# --------------------------------------------------------------------
# Workaround for https://github.com/moby/moby/issues/25526

echo "Ingress Routing Daemon starting ..."

read INGRESS_SUBNET INGRESS_DEFAULT_GATEWAY \
  < <(docker inspect ingress --format '{{(index .IPAM.Config 0).Subnet}} {{index (split (index .Containers "ingress-sbox").IPv4Address "/") 0}}')

echo INGRESS_SUBNET=$INGRESS_SUBNET
echo INGRESS_DEFAULT_GATEWAY=$INGRESS_DEFAULT_GATEWAY

# Add a rule ahead of the ingress network SNAT rule, that will cause the SNAT rule to be skipped.
echo "Adding ingress_sbox iptables nat rule: iptables -t nat -I POSTROUTING -d $INGRESS_SUBNET -m ipvs --ipvs -j ACCEPT"
while nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t nat -D POSTROUTING -d 10.0.0.0/24 -m ipvs --ipvs -j ACCEPT; do true; done 2>/dev/null
nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t nat -I POSTROUTING -d $INGRESS_SUBNET -m ipvs --ipvs -j ACCEPT

# Watch for container start events, and configure policy routing rules on each container
# to ensure return path traffic from incoming connections is routed back via the correct interface.
docker events \
  --format '{{.ID}} {{index .Actor.Attributes "com.docker.swarm.service.name"}}' \
  --filter 'event=start' \
  --filter 'type=container' | \
  while read ID SERVICE
  do
    if [ -n "$SERVICE" ]; then

      NID=$(docker inspect -f '{{.State.Pid}}' $ID)
      echo "Container ID=$ID, NID=$NID, SERVICE=$SERVICE started: applying policy route."
      nsenter -n -t $NID bash -c "ip route add table 1 default via $INGRESS_DEFAULT_GATEWAY && ip rule add from $INGRESS_SUBNET lookup 1 priority 32761"
    fi
  done

рдЕрдм, рдЬрдм рдПрдХрд▓ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рдЕрдиреБрд░реЛрдз рдЖрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдХрдВрдЯреЗрдирд░ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрди рдХрд╛ рдореВрд▓ рдЖрдИрдкреА рдкрддрд╛ рджреЗрдЦреЗрдВрдЧреЗред

рдкреНрд░рдпреЛрдЧ

рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП ingress-routing-daemon _each рдкрд░ рд░реВрдЯ _before_ рдЕрдкрдиреЗ рдЭреБрдВрдб рдиреЛрдбреНрд╕ рдХреЗ рд╣рд░ one_ рдХреЗ рд░реВрдк рдореЗрдВред (рдпрджрд┐ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд╛рдкрд╕ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ 0 рдкрд░ рд╕реНрдХреЗрд▓ рдХрд░реЗрдВред) рдбреЗрдореЙрди iptables рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдЧрд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдХрд┐ docker рдХрдм рдирдП рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдХрдВрдЯреЗрдирд░ рдкрд░ рдирдП рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг, рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдФрд░ рд╕реАрдорд╛рдПрдВ

рдПрдХ рдмрд╣реБ-рдиреЛрдб рдЭреБрдВрдб рдкрд░ рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдкрд░ рдПрдХрд▓ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд╢ рдХрдИ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рдХрдИ рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рддрд┐-рдиреЛрдб рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдЙрд╕ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐-рдиреЛрдб рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рднреА рдпрд╣ рдХреБрдЫ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдзрд┐ рдХреЛ рдХрдИ рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЭреБрдВрдб рдореЗрдВ рдПрдХрд▓ рдиреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдпрд╣ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрдЯрд░ рд╕реНрд╡рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбреЙрдХрдЯрд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рд▓рд╛рдн рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рдЬреАрд╡рдирдЪрдХреНрд░ рдкреНрд░рдмрдВрдзрдиред

рдЖрдЧреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕реБрдзрд╛рд░

рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рд╡рд┐рдзрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рддрд┐-рдиреЛрдб рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдпрд╛ рдЭреБрдВрдб рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрдИ рдиреЛрдбреНрд╕ рддрдХ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореИрдВ рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ: 1. рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреА ipvsadm рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рдЧреИрд░-рд╕реНрдерд╛рдиреАрдп рдЖрдИрдкреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░, рдпрд╛ рдПрдХ рдмреАрд╕реНрдкреЛрдХ рдбреЗрдореЙрди рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдирд╛ред 2. рд░реВрдЯрд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдкреИрдХреЗрдЬ рдХреЛ рд╕рд╣реА рдиреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ред

1 рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдирдП IP рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП ipvsadm -S -n рдорддрджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдиреАрдп рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдЬреЛ рдирд╣реАрдВ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджреЗрдВред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЛ рд╕рдордЧреНрд░ рд╕реЗрд╡рд╛ рдХреЗ рднреАрддрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдиреЛрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд┐рдирд╛ рджреВрд╕рд░реЗ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗрдЧрд╛, рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд╕рд╛рдордиреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЖрдИрдкреАрд╡реАрдПрд╕ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдмреИрдард╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХрдИ рд▓реЛрдб-рд╕рдВрддреБрд▓рд┐рдд рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред , рд╣рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рд╕рд░реНрд╡рд░ рдЦреЛрдП рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред

2 рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ ingress_sbox iptable рдореЗрдВ рдкреНрд░рддрд┐-рдиреЛрдб TOS рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП iptables рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдиреЛрдб рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ IP рдХреЗ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП); рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ, рдЯреАрдУрдПрд╕ рдорд╛рди рдХреЛ рдХрдиреЗрдХреНрд╢рди рдЪрд┐рд╣реНрди рдкрд░ рдореИрдк рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдХрдиреЗрдХреНрд╢рди рдЪрд┐рд╣реНрди рд╕реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЪрд┐рд╣реНрди рдкрд░, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЪрд┐рд╣реНрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд░реВрдЯрд┐рдВрдЧ рддрд╛рд▓рд┐рдХрд╛ рдЪреБрдиреЗрдВ рдЬреЛ рдкреИрдХреЗрдЯ рдХреЛ рдореВрд▓ рдиреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рд▓реЗ рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдереЛрдбрд╝реЗ рднрджреНрджреЗ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2-16 рдиреЛрдбреНрд╕ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореБрдЭреЗ (2) рдкрд░ рднреА рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдЧрд░ рдореИрдВ рдкреНрд░рдЧрддрд┐ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдПрдХ рдФрд░ рдЕрдкрдбреЗрдЯ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдиреАрдЪреЗ рдкреНрд░рд╡реЗрд╢ рд░реВрдЯрд┐рдВрдЧ рдбреЗрдореЙрди рдХрд╛ рдПрдХ рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, ingress-routing-daemon-v2 , рдЬреЛ рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо рдореЙрдбрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдПрд╕рдПрдирдПрдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдЖрдЙрдЯрдкреБрдЯ рдкреИрдХреЗрдЯ рдХреЛ рд╕рд╣реА рдиреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬ рд╕рдХреЗред

рдмреЗрд╣рддрд░ рдореЙрдбрд▓

рдкрд┐рдЫрд▓реЗ рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ SNAT рдирд┐рдпрдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдП рдореЙрдбрд▓ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ ingress_sbox рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ iptables рдирд┐рдпрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк IPVS рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЗ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдбреНрд╕, рдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рдмрд╕реЗрдЯ) рдкреНрд░рдмрдВрдзрдХ рдиреЛрдбреНрд╕), рдЬреЛ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрд┐рд╕реА рднреА рдиреЛрдб рдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рд╕рднреА рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдкреНрд░рддрд┐-рдиреЛрдб рдЯреАрдУрдПрд╕ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред (рд╣рдо рдиреЛрдб рдХреЗ рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдИрдкреА рдХреЗ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред)

рдЪреВрдВрдХрд┐ рдЯреАрдУрдПрд╕ рдорд╛рди рдкреИрдХреЗрдЯ рдХреЗ рднреАрддрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЧрдВрддрд╡реНрдп рдиреЛрдб рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкреИрдХреЗрдЯ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред

рдлрд┐рд░ рдЧрдВрддрд╡реНрдп рдиреЛрдб рдкрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ, рд╣рдо рдХрд┐рд╕реА рднреА рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ рдкрд░ TOS рдорд╛рди рдХреЛ рд╕рдорд╛рди рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рдЪрд┐рд╣реНрди рдкрд░ рдореИрдк рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм, рдЪреВрдВрдХрд┐ рдПрдХ рд╣реА рдХрдиреЗрдХреНрд╢рди рдкрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рдореЗрдВ рдПрдХ рд╣реА рдХрдиреЗрдХреНрд╢рди рдЪрд┐рд╣реНрди рд╣реЛрдЧрд╛, рд╣рдо рдХрд┐рд╕реА рднреА рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рдкрд░ рдХрдиреЗрдХреНрд╢рди рдЪрд┐рд╣реНрди рдХреЛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЪрд┐рд╣реНрди рдкрд░ рдореИрдк рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╕реЗ рдЙрд╕реА рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред

рдЕрдВрдд рдореЗрдВ, рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдПрдХ рдЕрд▓рдЧ рд░реВрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯреНрд╕ рдХреЛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдорд╛рд░реНрдХ рд╡реИрд▓реНрдпреВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрд╡рд╢реНрдпрдХ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдиреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм, рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдз рдЭреБрдВрдб рдореЗрдВ рдХрд┐рд╕реА рднреА рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдХрдВрдЯреЗрдирд░ (рдЪрд╛рд╣реЗ рдЙрд╕реА рдФрд░/рдпрд╛ рдЕрдиреНрдп рдиреЛрдбреНрд╕ рдкрд░) рдЬрд┐рд╕ рдкрд░ рдЕрдиреБрд░реЛрдз рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдореВрд▓ рдЖрдИрдкреА рдкрддрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдореВрд▓ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдиреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ; рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

рдкреНрд░рдпреЛрдЧ

рдХреА рд╕реНрдерд╛рдкрдирд╛

рдЕрдкрдиреЗ рдЭреБрдВрдб рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ ingress-routing-daemon-v2 рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдХрд░, рдЕрдкрдиреЗ рдЭреБрдВрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ INGRESS_NODE_GATEWAY_IPS рд▓рд┐рдП рдПрдХ рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ _рдЬрд┐рд╕реЗ рдЖрдк рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ_ (рдЖрдорддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдЖрдкрдХрд╛ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдбреНрд╕, рдпрд╛ рдЖрдкрдХреЗ рдкреНрд░рдмрдВрдзрдХ рдиреЛрдбреНрд╕ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ), INGRESS_DEFAULT_GATEWAY рд▓рд┐рдП рджрд┐рдЦрд╛рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рдпрд╛ рдЬрдм рднреА рдЖрдк рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рддреЗ рдпрд╛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ INGRESS_NODE_GATEWAY_IPS 10.0.0.2 10.0.0.3 10.0.0.4 10.0.0.5 рдЬреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП (рдкреНрд░рд╡реЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдмрдиреЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдФрд░ рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛)ред

рдбреЗрдореЙрди рдЪрд▓ рд░рд╣рд╛ рд╣реИ

рднрд╛рдЧреЛ INGRESS_NODE_GATEWAY_IPS="<Node Ingress IP List>" ingress-routing-daemon-v2 --install _each рдкрд░ рд░реВрдЯ _before_ рдЕрдкрдиреЗ рдЭреБрдВрдб рдХреЗ рдиреЛрдбреНрд╕ (рдкреНрд░рдмрдВрдзрдХреЛрдВ рдФрд░ рд╢реНрд░рдорд┐рдХреЛрдВ) рдХреЗ рд╣рд░ one_ рдХреЗ рд░реВрдк рдореЗрдВред (рдпрджрд┐ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд╛рдкрд╕ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ 0 рдкрд░ рд╕реНрдХреЗрд▓ рдХрд░реЗрдВред) рдбреЗрдореЙрди iptables рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдЧрд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдХрд┐ docker рдХрдм рдирдП рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдХрдВрдЯреЗрдирд░ рдкрд░ рдирдП рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдбреЗрдореЙрди рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ [ -n "$SERVICE" ] рдХреЛ [ "$SERVICE" = "myservice" ] рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВред

iptables рдирд┐рдпрдореЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛

рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ ingress-routing-daemon-v2 --uninstall рдЪрд▓рд╛рдПрдБред

рдкрд░рд┐рдХреНрд╖рдг

ingress-routing-daemon-v2 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд╛рд░-рдиреЛрдб рдЭреБрдВрдб рдореЗрдВ рддреИрдирд╛рдд рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреА 8 рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдХрд░реНрд▓ рдЕрдиреБрд░реЛрдз, рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓реЛрдб-рд╕рдВрддреБрд▓рд┐рдд рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдиреЛрдб рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд, рд╕рдлрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рдХреА рдЬрд╛рдВрдЪ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХрд░реНрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЖрдИрдкреА рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ред

рд╕реАрдорд╛рдУрдВ

рдЪреВрдВрдХрд┐ рдЯреАрдУрдПрд╕ рдорд╛рди 8-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдореЙрдбрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ 256 рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдиреЛрдбреНрд╕ рддрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдПрдХ iptables рдореИрдВрдЧрд▓ рдирд┐рдпрдо + рдПрдХ рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо + рдПрдХ рдиреАрддрд┐ рд░реВрдЯрд┐рдВрдЧ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рддрд┐ рдкреНрд░рдмрдВрдзрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдиреЛрдб рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ рдЖрдзреБрдирд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ <= 16 рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ)ред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЭреБрдВрдб рдореЗрдВ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ - рдпрд╛ рдореМрдЬреВрджрд╛ рдореИрдиреЗрдЬрд░ рдиреЛрдбреНрд╕ рдХреЛ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рддреЛ рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЪрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдореМрдЬреВрджрд╛ рдХрдВрдЯреЗрдирд░ рдирдП рдПрдВрдбрдкреЙрдЗрдВрдЯ рдиреЛрдбреНрд╕ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╡рд╛рдкрд╕ рд░реВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред INGRESS_NODE_GATEWAY_IPS="<Node Ingress IP List>" ingress-routing-daemon-v2 рдХреЛ INGRESS_NODE_GATEWAY_IPS рдХреЗ рдЕрджреНрдпрддрди рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдлрд┐рд░ рдирдП рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рд░реЛрд▓рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

рджреЗрд╢реА рдбреЙрдХрд░ рдПрдХреАрдХрд░рдг рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢

рдореИрдВ рдбреЙрдХрд░ рдХреЛрдбрдмреЗрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдЬреЛ ingress-routing-daemon-v2 рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдбреЙрдХрд░ рджреНрд╡рд╛рд░рд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдбреЙрдХрд░ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ рдбреЙрдХрд░ рдХреЛрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдпрд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВред

рдкреНрд░рд╡реЗрд╢ рдорд╛рд░реНрдЧ рдбреЗрдореЙрди v2 рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдпрд╣рд╛рдБ рдирдИ ingress-routing-daemon-v2 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред

#!/bin/bash

# Ingress Routing Daemon v2
# Copyright ┬й 2020 Struan Bartlett
# ----------------------------------------------------------------------
# Permission is hereby granted, free of charge, to any person 
# obtaining a copy of this software and associated documentation files 
# (the "Software"), to deal in the Software without restriction, 
# including without limitation the rights to use, copy, modify, merge, 
# publish, distribute, sublicense, and/or sell copies of the Software, 
# and to permit persons to whom the Software is furnished to do so, 
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be 
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
# SOFTWARE.
# ----------------------------------------------------------------------
# Workaround for https://github.com/moby/moby/issues/25526

if [ "$1" = "--install" ]; then
  INSTALL=1
elif [ "$1" = "--uninstall" ]; then
  INSTALL=0
else
  echo "Usage: $0 [--install|--uninstall]"
fi

echo
echo "  Dumping key variables..."

if [ "$INSTALL" = "1" ] && [ -z "$INGRESS_NODE_GATEWAY_IPS" ]; then
  echo "!!! ----------------------------------------------------------------------"
  echo "!!! WARNING: Using default INGRESS_NODE_GATEWAY_IPS"
  echo "!!! Please generate a list by noting the values shown"
  echo "!!! for INGRESS_DEFAULT_GATEWAY on each of your swarm nodes."
  echo "!!!"
  echo "!!! You only have to do this once, or whenever you add or remove nodes."
  echo "!!!"
  echo "!!! Then relaunch using:"
  echo "!!! INGRESS_NODE_GATEWAY_IPS=\"<Node Ingress IP List>\" $0 -x"
  echo "!!! ----------------------------------------------------------------------"
fi

read INGRESS_SUBNET INGRESS_DEFAULT_GATEWAY \
  < <(docker inspect ingress --format '{{(index .IPAM.Config 0).Subnet}} {{index (split (index .Containers "ingress-sbox").IPv4Address "/") 0}}')

echo "  - INGRESS_SUBNET=$INGRESS_SUBNET"
echo "  - INGRESS_DEFAULT_GATEWAY=$INGRESS_DEFAULT_GATEWAY"

# We need the final bytes of the IP addresses on the ingress network of every node
# i.e. We need the final byte of $INGRESS_DEFAULT_GATEWAY for every node in the swarm
# This shouldn't change except when nodes are added or removed from the swarm, so should be reasonably stable.
# You should configure this yourself, but for now let's assume we have 8 nodes with IPs in the INGRESS_SUBNET numbered x.x.x.2 ... x.x.x.9
if [ -z "$INGRESS_NODE_GATEWAY_IPS" ]; then
  INGRESS_NET=$(echo $INGRESS_DEFAULT_GATEWAY | cut -d'.' -f1,2,3)
  INGRESS_NODE_GATEWAY_IPS="$INGRESS_NET.2 $INGRESS_NET.3 $INGRESS_NET.4 $INGRESS_NET.5 $INGRESS_NET.6 $INGRESS_NET.7 $INGRESS_NET.8 $INGRESS_NET.9"
fi

echo "  - INGRESS_NODE_GATEWAY_IPS=\"$INGRESS_NODE_GATEWAY_IPS\""

# Create node ID from INGRESS_DEFAULT_GATEWAY final byte
NODE_ID=$(echo $INGRESS_DEFAULT_GATEWAY | cut -d'.' -f4)
echo "  - NODE_ID=$NODE_ID"

if [ -z "$INSTALL" ]; then
  echo
  echo "Ingress Routing Daemon v2 exiting."
  exit 0
fi

# Add a rule ahead of the ingress network SNAT rule, that will cause the SNAT rule to be skipped.
[ "$INSTALL" = "1" ] && echo "Adding ingress_sbox iptables nat rule: iptables -t nat -I POSTROUTING -d $INGRESS_SUBNET -m ipvs --ipvs -j ACCEPT"
while nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t nat -D POSTROUTING -d 10.0.0.0/24 -m ipvs --ipvs -j ACCEPT; do true; done 2>/dev/null
[ "$INSTALL" = "1" ] && nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t nat -I POSTROUTING -d $INGRESS_SUBNET -m ipvs --ipvs -j ACCEPT

# 1. Set TOS to NODE_ID in all outgoing packets to INGRESS_SUBNET
[ "$INSTALL" = "1" ] && echo "Adding ingress_sbox iptables mangle rule: iptables -t mangle -A POSTROUTING -d $INGRESS_SUBNET -j TOS --set-tos $NODE_ID/0xff"
while nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t mangle -D POSTROUTING -d $INGRESS_SUBNET -j TOS --set-tos $NODE_ID/0xff; do true; done 2>/dev/null
[ "$INSTALL" = "1" ] && nsenter --net=/var/run/docker/netns/ingress_sbox iptables -t mangle -A POSTROUTING -d $INGRESS_SUBNET -j TOS --set-tos $NODE_ID/0xff

if [ "$INSTALL" = "0" ]; then
  echo
  echo "Ingress Routing Daemon v2 iptables rules uninstalled, exiting."
  exit 0
fi

echo "Ingress Routing Daemon v2 starting ..."

# Watch for container start events, and configure policy routing rules on each container
# to ensure return path traffic for incoming connections is routed back via the correct interface
# and to the correct node from which the incoming connection was received.
docker events \
  --format '{{.ID}} {{index .Actor.Attributes "com.docker.swarm.service.name"}}' \
  --filter 'event=start' \
  --filter 'type=container' | \
  while read ID SERVICE
  do
    if [ -n "$SERVICE" ]; then

      NID=$(docker inspect -f '{{.State.Pid}}' $ID)
      echo "Container ID=$ID, NID=$NID, SERVICE=$SERVICE started: applying policy routes."

      # 3. Map any connection mark on outgoing traffic to a firewall mark on the individual packets.
      nsenter -n -t $NID iptables -t mangle -A OUTPUT -p tcp -j CONNMARK --restore-mark

      for NODE_IP in $INGRESS_NODE_GATEWAY_IPS
      do
        NODE_ID=$(echo $NODE_IP | cut -d'.' -f4)

    # 2. Map the TOS value on any incoming packets to a connection mark, using the same value.
        nsenter -n -t $NID iptables -t mangle -A PREROUTING -m tos --tos $NODE_ID/0xff -j CONNMARK --set-xmark $NODE_ID/0xffffffff

    # 4. Select the correct routing table to use, according to the firewall mark on the outgoing packet.
        nsenter -n -t $NID ip rule add from $INGRESS_SUBNET fwmark $NODE_ID lookup $NODE_ID prio 32700

    # 5. Route outgoing traffic to the correct node's ingress network IP, according to its firewall mark
    #    (which in turn came from its connection mark, its TOS value, and ultimately its IP).
        nsenter -n -t $NID ip route add table $NODE_ID default via $NODE_IP dev eth0

      done

    fi
  done

рдирдорд╕реНрддреЗ @struanb , рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА v2 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд╕реЗрдХреНрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдХрдореА рд╣реИ?

рдирдорд╕реНрддреЗ @jrbecartред рдореБрдЭреЗ рдЖрд╢рд╛ рдирд╣реАрдВ рд╣реИред iptables рдирд┐рдпрдо рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк iptables -D рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рджреЛ рдЬрдмрдХрд┐ рд▓реВрдк рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рдкреВрд░реНрд╡-рдореМрдЬреВрджрд╛ рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рд╣реИ, рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ --install рдХрдИ рдмрд╛рд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ --uninstall ред

рдЬреИрд╕реЗ, рдЬрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ --рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреА рд╣реИ, рдЙрди рдирд┐рдпрдореЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдирдП рдирд┐рдпрдо рдЕрднреА рддрдХ рдЬреЛрдбрд╝реЗ рдирд╣реАрдВ рдЧрдП рд╣реИрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдЧрд╛ред

рд╣рд╛рдп рд╕рдм, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдпрд╣ рдЧрд▓рддреА рд╕реЗ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдЪ рдХрд╣реВрдВ рддреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдерд╛ред рдЦреИрд░, рдЖрдЬ рддрдХред рдЬрдм рдореИрдВ рдПрдХ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд▓реЙрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдЖрдИрдкреА, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдбреАрдмрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╕рдВрднрд╡ рдерд╛ред

рдпрд╣рд╛рдБ рдЙрд╕ рддрд░рд╣ рдХреЗ рд▓реЙрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ

10.0.0.2 - - [19/Nov/2020:04:56:31 +0000] "GET / HTTP/1.1" 200 58 "-" req_t=0.003 upstream_t=0.004 "<browser-info>" "<source-ip-1,source-ip2,....>"

рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдкреНрд░реЙрдХреНрд╕реА (рдпрд╛рдиреА рдХреНрд▓рд╛рдЙрдбрдлреЗрдпрд░ рдФрд░ рдЕрдиреНрдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХрдИ рд╕реНрд░реЛрдд рдЖрдИрдкреА рд╣реИрдВред

рдЬрд╛рдирдХрд╛рд░реА рдереА, рдореЗрд░рд╛ рдЕрд╕рд▓реА рдЖрдИрдкреА рдерд╛ред рдлрд┐рд░, рдореИрдВрдиреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд░рд╛рд░реВрдк рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдХрд┐ рдЬрд╛рджреВ рдХреИрд╕реЗ рд╕рдВрднрд╡ рдерд╛, рдФрд░ рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      'req_t=$request_time upstream_t=$upstream_response_time '
                      '"$http_user_agent" "$http_x_forwarded_for"';

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдЬрд╛рджреВ рдпрд╣рд╛рдБ рд╣реИ -> $http_x_forwarded_for

рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ proxy_set_header X-Real-IP $http_x_forwarded_for; рдЬреИрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рд╣реЗрдбрд░ рдмрджрд▓ рджрд┐рдПред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг, рдПрдХ рдиреЛрдбрдЬреЗрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕реЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рдЕрдВрджрд░, рдПрдХ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдЭреБрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд▓рдЧрднрдЧ 4 рд╡реАрдПрдо рдХреЗ рд╕рд╛рде, рдФрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЕрд╕рд▓реА рдЖрдИрдкреА рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрд╛ред

рдореИрдВ рдмрд╣реБрдд рдЦреБрд╢ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣реА рдЬрд╡рд╛рдм рд╣реИред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ:

Docker version: 19.03.8
NGINX version: nginx/1.14.2

рдореБрдЭреЗ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд░рд╣реЗрдЧрд╛ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реЗ рдЬреИрд╕реЗ рд╣реА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪреАрдпрд░реНрд╕!
рд╕реЗрдмрд╕реНрдЯрд┐рдпрдиред

рдкреАрдПрд╕: рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЬрд╝рдорд╛рдПрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдХреЗ рдмрд╛рд╣рд░, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрдЬрд╛рдп рд▓реЙрдЧ рдореЗрдВ "-" рдорд┐рд▓реЗрдЧрд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдШрд░реЗрд▓реВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд╣рд░ред

рдмреЛрдирд╕: рдореИрдВ рдПрдХ рд▓реБрдХрдЕрдк рдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рднреМрдЧреЛрд▓рд┐рдХ рд╕реНрдерд╛рди рдкрд░ рдореИрдк рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЙрдиреНрд╣реЗрдВ рдЧрд┐рди рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣рд╛рдВ рд╣реИ, рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд▓реЛрдЧреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдереЗ :)

@sebastianfelipe рдЗрди рд╕рднреА рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рджрд╛рд╡рд╛ рд╣реИред рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд╣реЛрд╕реНрдЯ рдореЛрдб рдпрд╛ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@sebastianfelipe рдЗрди рд╕рднреА рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рджрд╛рд╡рд╛ рд╣реИред рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд╣реЛрд╕реНрдЯ рдореЛрдб рдпрд╛ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдореБрдЭреЗ рдпрдХреАрди рд╣реИред рдореИрдВ рдЙрди рд╕рднреА рдХрдиреЗрдХреНрдЯреЗрдб рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕рд╣рд┐рдд рдЙрддреНрдкрд╛рджрди рдЬреИрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдХ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдореИрдВ рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред резрежреж% рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред

@sebastianfelipe рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдбрд┐рдЬрд┐рдЯрд▓ рдорд╣рд╛рд╕рд╛рдЧрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдбреЗрдб-рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП

@beornf рдореИрдВ рд╕реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рдЖрдкрдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкрдврд╝реА рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЬрд╛рдЧрдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдмрд┐рдирд╛ рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рдЬрдм рдПрдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдбрд┐рдЬрд┐рдЯрд▓ рдорд╣рд╛рд╕рд╛рдЧрд░ рд╡рд╣рд╛рдВ рдПрдХ рдЬрд╛рджреВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ $http_x_forwarded_for рдЪрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдПрдХ рдЕрдиреНрдп рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдЪрд░ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛ рд╕реАрдзреЗ рдбреЙрдХрд░ рдЭреБрдВрдб рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рдд: рдпрд╣ рд╣рд░ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП "рдбрдореА-рдЬреИрд╕реА" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди рдЧреНрд░рд╛рд╣рдХ рдпрд╣ рдЬрд╛рдирдХрд░ рдЦреБрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕рдордп рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрд╛ рдЬрд╛рдПред

@beornf @sebastianfelipe рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдкрд░, CloudFlare X-Forwarded-For рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдлреА рд╣рдж рддрдХ рдореБрдлрд╝реНрдд рд╣реИред

@beornf @sebastianfelipe рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдкрд░, CloudFlare X-Forwarded-For рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдлреА рд╣рдж рддрдХ рдореБрдлрд╝реНрдд рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рд╕реНрддрд╛ рдЪрд╛рд╣рд┐рдПред Cloudfare рдХреЛ рдХреЗрд╡рд▓ рдкреНрд░реЙрдХреНрд╕реА рдпрд╛ рдХреЗрд╡рд▓ DNS рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд┐рдирд╛ рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рдпрд╣ рдЕрдм рддрдХ рдХрд╛ рдХреНрд▓реАрдирд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ @beornf рд╕реЗ рд╕рд╣рдордд

рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

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