2016-10-13 2 views
1

Просто собирайтесь с роем на AWS. Я могу создать свой кластер с док-машиной, начать рой и развернуть службу. Но я изо всех сил пытается получить балансировку нагрузки.Балансировка загрузки рой докеров на AWS не работает

Я могу только скручивать приложение на хостах, на котором оно было развернуто, другие хосты не пересылают запросы, без циклического продолжения.

Я использую следующие скрипты для проверки своего кластера. Любые подсказки были бы замечательными, немного застрявшими здесь.

!/bin/bash 
aws_region=eu-west-1 
instances=6 

n=1 
while [ $n -le $instances ] 
do 
machine_name=$aws_region-$n 
docker-machine create \ 
--driver amazonec2 \ 
--amazonec2-region $aws_region \ 
--amazonec2-security-group 'swarm-cluster' \ 
$machine_name & 
n=$((n + 1)) 
done 

!/bin/bash 
Init managers 
hostname="eu-west-1-1" 
echo $hostname 
manager_ip="$(docker-machine inspect $hostname | jq -r '.Driver.PrivateIPAddress'):2377" 
docker $(docker-machine config $hostname) swarm init --advertise-addr $manager_ip --listen-addr $manager_ip 

manager_token="$(docker $(docker-machine config $hostname) swarm join-token manager -q)" 
worker_token="$(docker $(docker-machine config $hostname) swarm join-token worker -q)" 

hostname="eu-west-1-2" 
echo $hostname 
ip="$(docker-machine inspect $hostname | jq -r '.Driver.PrivateIPAddress'):2377" 
docker $(docker-machine config $hostname) swarm join \ 
--token $manager_token \ 
$manager_ip \ 
--advertise-addr $ip --listen-addr $ip 

hostname="eu-west-1-3" 
echo $hostname 
ip="$(docker-machine inspect $hostname | jq -r '.Driver.PrivateIPAddress'):2377" 
docker $(docker-machine config $hostname) swarm join \ 
--token $manager_token \ 
$manager_ip \ 
--advertise-addr $ip --listen-addr $ip 

Init workers 
hostname="eu-west-1-4" 
echo $hostname 
ip="$(docker-machine inspect $hostname | jq -r '.Driver.PrivateIPAddress'):2377" 
docker $(docker-machine config $hostname) swarm join \ 
--token $worker_token \ 
$manager_ip \ 
--advertise-addr $ip --listen-addr $ip 

hostname="eu-west-1-5" 
echo $hostname 
ip="$(docker-machine inspect $hostname | jq -r '.Driver.PrivateIPAddress'):2377" 
docker $(docker-machine config $hostname) swarm join \ 
--token $worker_token \ 
$manager_ip \ 
--advertise-addr $ip --listen-addr $ip 

hostname="eu-west-1-6" 
echo $hostname 
ip="$(docker-machine inspect $hostname | jq -r '.Driver.PrivateIPAddress'):2377" 
docker $(docker-machine config $hostname) swarm join \ 
--token $worker_token \ 
$manager_ip \ 
--advertise-addr $ip --listen-addr $ip 

eval $(docker-machine env eu-west-1-1) 

docker service create --name web --replicas 3 --mount type=bind,src=/etc/hostname,dst=/usr/share/nginx/html/index.html,readonly --publish 80:80 nginx 
+0

Что происходит, когда вы «скручиваете» одну из других машин? Изображение 'nginx' имеет высокий уровень сохранения, поэтому, если вы просто проверяете балансировку нагрузки, попробуйте изображение [из этого ответа] (http://stackoverflow.com/questions/39647064/docker-1-12-swarm -Режим нагрузка балансовых задача-оф-же-сервис-на-одноузлового/39649010 # 39649010) –

ответ

0

У меня такая же проблема, в регионе са-восток-1. Эта точная конфигурация кластера работает хорошо, в локальной виртуальной машине на VirtualBox:

Client: 
Version:  1.13.0 
API version: 1.25 
Go version: go1.7.3 
Git commit: 49bf474 
Built:  Tue Jan 17 09:58:26 2017 
OS/Arch:  linux/amd64 

Server: 
Version:  1.13.0 
API version: 1.25 (minimum version 1.12) 
Go version: go1.7.3 
Git commit: 49bf474 
Built:  Tue Jan 17 09:58:26 2017 
OS/Arch:  linux/amd64 
Experimental: false 

 Смежные вопросы

  • Нет связанных вопросов^_^