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