2016-02-12 4 views
1

Я пытаюсь настроить кластер докеров на HA на 3 выделенных компьютерах. Я успешно выполнил инструкции по docs.docker.com/engine/installation/linux/ubuntulinux, и теперь я стараюсь следовать инструкциям на https://docs.docker.com/swarm/install-manual. Поскольку я не использую виртуализацию, я начинаю с «Настроить брандмауэр консула». ПК (запущенная версия сервера Ubuntu 14.04) находится в локальной сети 192.168.2.0/24. ubuntu001 имеет .104, ubuntu002 имеет .106 и .105 ubuntu003 имеетDocker Swarm with Consul - Менеджер не выбирает первичный

я сделал следующее в соответствии с инструкциями:

[email protected]:~$ docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap 

[email protected]:~$ docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.2.104:4000 consul://192.168.2.104 

[email protected]:~# docker run -d swarm manage -H :4000 --replication --advertise 192.168.2.106:4000 consul://192.168.2.104:8500 

[email protected]:~$ docker run -d swarm join --advertise=192.168.2.105:2375 consul://192.168.2.104:8500 

Но при попытке следующий шаг, менеджер роя не показывает как "Primary", как он говорит, что надо, а не первичный не перечислен:

[email protected]:~$ docker -H :4000 info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 0 
Server Version: swarm/1.1.0 
Role: replica 
Primary: 
Strategy: spread 
Filters: health, port, dependency, affinity, constraint 
Nodes: 0 
Plugins: 
Volume: 
Network: 
Kernel Version: 3.19.0-25-generic 
Operating System: linux 
Architecture: amd64 
CPUs: 0 
Total Memory: 0 B 

и: arnolde @ ubuntu001: ~ $ докер -H: 4000 пробег привет-мир докер: ответ ошибки от демона: нет избранный основной менеджер кластера.

Я искал и нашел https://github.com/docker/swarm/issues/1491, который рекомендует использовать dockerswarm/роя: мастер вместо этого, который я сделал, но это не помогло:

[email protected]:~$ docker run -d -p 4000:4000 dockerswarm/swarm:master manage -H :4000 --replication --advertise 192.168.2.104:4000 consul://192.168.2.104 

я не нашел другой вход относительно роя + консула + первичный, так вот я ... любые предложения? К сожалению, я не уверен, как устранить неполадки, так как я даже не знаю, где искать информацию о регистрации/отладке, то есть, если менеджер подключается к консулу успешно и т. Д.

ответ

1

Я смог решить это самостоятельно после явно добавление номера порта к консулу: // параметр, по-видимому, докер документы являются неполными:

[email protected]:~$ docker run -d -p 4000:4000 dockerswarm/swarm:master manage -H :4000 --replication --advertise 192.168.2.104:4000 consul://192.168.2.104:8500 
[email protected]:~$ docker -H :4000 info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 0 
Server Version: swarm/1.1.0 
Role: replica 
Primary: 192.168.2.106:4000 

Также я добавил «-p 4000: 4000» в команду на менеджере реплик (на ubuntu002). Не уверен, что это было необходимо (или даже хорошая идея).

0

Мои друзья, первый шаг, который вы должны отредактировать docker start daemon настроить для записи, прослушать порт любой другой конфигурации, моя среда - centos7, поэтому моя настройка daemon находится в/usr/lib/docker/.... edit " ExecStart =/usr/bin/docker daemon -H fd: // -H tcp: //0.0.0.0: 2375 -H unix: ///var/run/docker.sock --cluster-store = consul: // 192.168.1.102:8500 --cluster-advert = 192.168.1.103: 0 "каждый узел. и второй шаг: «docker run -d -p 8500: 8500 --name = consul progrium/consul -server -bootstrap» больше ...