@docker_ru
Docker — русскоговорящее сообщество

Обсуждаем вопросы, посвященные Docker🐳, Docker Swarm и всей экосистеме. Обмениваем идеями, новостями и решаем пробемы. Вам могут быть полезны: @coreos_ru, @kubernetes_ru, @devops_ru, @rkt_ru Рекомендуем сразу отключить уведомления для удобства

2608 members

Архив канала @docker_ru 28 декабря 2016 г.

07:53:03 ДП
User 200967190
По etcd,  consul тут лучше спрашивать или есть более специализированный чат?
07:59:59 ДП
User 210144733
User 200967190
По etcd,  consul тут лучше спрашивать или есть более специализированный чат?
Посмотри в пиннед месседж есть ссылки, можно в девопс сходить
08:03:06 ДП
User 200967190
Спрошу тут. Что посоветуете? Есть несколько команд разработки. В каждой команде хотелось бы локальный etcd, где храниться только инфа для команды. Есть глобальный etcd. Локальные etcd публикуют в глобальном etcd только публичные сервисы.
08:05:23 ДП
User 200967190
В consul есть datacenter. И есть глобальные consul сервера. Может consul для этого подойдет?  Вся Ли информация синхронизируется между data center?
08:07:22 ДП
User 112565265
а про какую "инфу" для команды речь? просто хочешь чтобы каждая команда к своему набору сервисов имела доступ? или там еще какие то конфиги шарятся?
08:10:29 ДП
User 200967190
Логины, параметры конфигурации. Это не нужно остальным командам
08:12:57 ДП
User 2339730
Коллеги, скажите пожалуйста из-за чего примерно может быть так, что падает контейнер ( memcached:alpine и  exit code кажется 137 ) и порт не освобождается ?
08:13:19 ДП
User 2339730
docker logs пишет, что-то типа process terminated
08:13:27 ДП
User 2339730
то есть ничего полезного для расследования
08:14:19 ДП
User 112565265
я не знаю особенностей, но у меня сейчас просто через докер идет разграничение, т.е. есть стэйдж сервер, куда деплоятся проекты, каждый проект деплоится в свою сеть докера просто, тем самым изолированы от других проектов, а доступ к ним заведен через реверс прокси:

web -> nginx:80 -> nginx(в докер сети) -> фронтэнд проекта
08:15:40 ДП
User 200967190
User 112565265
я не знаю особенностей, но у меня сейчас просто через докер идет разграничение, т.е. есть стэйдж сервер, куда деплоятся проекты, каждый проект деплоится в свою сеть докера просто, тем самым изолированы от других проектов, а доступ к ним заведен через реверс прокси:

web -> nginx:80 -> nginx(в докер сети) -> фронтэнд проекта
А etcd/consul используется?
08:17:06 ДП
User 112565265
User 200967190
А etcd/consul используется?
consul используется, у каждого проекта свой консул, который следит за здоровьем бэкэнд контейнеров, он нужен чтобы автоматом переконфигурировать nginx, т.е. увеличили количество бэкэндов, nginx автоматом начинает балансировать на новые контейнеры, кто -то умер, убирается из балансировки
08:17:19 ДП
User 112565265
User 2339730
Коллеги, скажите пожалуйста из-за чего примерно может быть так, что падает контейнер ( memcached:alpine и  exit code кажется 137 ) и порт не освобождается ?
137 это скорее всего аут оф мемори
08:17:41 ДП
User 112565265
когда памяти не хватает, нет возможности подробный лог написать, т.к. это требует алокации еще большей памяти которой нет
08:18:01 ДП
User 112565265
попробуй глянуть внутри контейнера в логах, если мемкэш пишет лог в файл
08:20:14 ДП
User 2339730
User 112565265
попробуй глянуть внутри контейнера в логах, если мемкэш пишет лог в файл
вот это основная затыка, кажется, что он ничего нормально не пишет ) я проверю память, спасибо
08:21:24 ДП
User 200967190
User 112565265
consul используется, у каждого проекта свой консул, который следит за здоровьем бэкэнд контейнеров, он нужен чтобы автоматом переконфигурировать nginx, т.е. увеличили количество бэкэндов, nginx автоматом начинает балансировать на новые контейнеры, кто -то умер, убирается из балансировки
То есть есть локальный consul. При изменении конфигурации он меняет ngingx конфиг. И есть глобальный consul?
08:21:24 ДП
User 112565265
User 2339730
вот это основная затыка, кажется, что он ничего нормально не пишет ) я проверю память, спасибо
https://hub.docker.com/_/memcached/


How to set the memory usage for memcached

$ docker run —name my-memcache -d memcached memcached -m 64
This would set the memcache server to use 64 megabytes for storage.



Там может лимит дефолтный низкий стоит, просто добавь
08:22:19 ДП
User 200967190
А как глобальный consul узнает о новом локальном сервисе?
08:23:06 ДП
User 112565265
User 200967190
То есть есть локальный consul. При изменении конфигурации он меняет ngingx конфиг. И есть глобальный consul?
Глобальный в планах, я пока не довел идею до конца. Но в целом да, у проект есть локальный consul, который мониторит сервисы проекта, nginx реконфигурируется через утилиту https://github.com/hashicorp/consul-template которая слушает изменения consul'a
github.com/hashicorp/consul-template
Template rendering, notifier, and supervisor for @HashiCorp Consul and Vault data. - hashicorp/consul-template
08:23:32 ДП
User 200967190
Anton Patsev:
А как глобальный consul узнает о новом локальном сервисе?
08:23:36 ДП
User 112565265
User 200967190
А как глобальный consul узнает о новом локальном сервисе?
у консула есть мастер сервер и агнеты, агнет сам сообщает мастеру
08:24:05 ДП
User 200967190
Так агент отправит мастеру всю информацию
08:24:16 ДП
User 200967190
А надо только публичный сервис
08:25:44 ДП
User 112565265
так это не страшно, сервис не будет доступен из вне
08:26:01 ДП
User 112565265
но при этом другие сервисы могут знать жив этот сервис или нет, для мониторинга удобно
08:26:26 ДП
User 112565265
локальные (т.е. сервисы которые в его сети ) будут иметь доступ к этому сервису
08:27:02 ДП
User 112565265
они у меня разграничены по именам, там же consul как dns работать может:

service1.project1.node1.com
service2.project1.node1.com

Типо того
08:27:47 ДП
User 200967190
Вопрос не в этом. Как глобальный consul узнает о новом сервисе,  который появился на minx?
08:27:58 ДП
08:29:16 ДП
User 112565265
каждый сервис регистрируется через апи в агенте, а агент уже передает данные своему мастеру, другие сервисы могут через своих агентов или на прямую через мастер получать любые данные
08:30:21 ДП
User 200967190
Это локально
08:30:32 ДП
User 200967190
А глобально?
08:30:44 ДП
User 112565265
это глобально
08:31:12 ДП
User 112565265
разница для внешних сервисов лишь в том что, они получат адрес сервиса, к которому у них нет доступа, но знать что он появился они будут
08:33:38 ДП
User 112565265
есть глобальный nginx, он в ручную сконфигурирован, есть локальный для проекта nginx, он автоматом конфигурируется. Глобальный к локальному обращается через dns докера, т.к. локальный nginx находится в двух сетях, в сети проекта он известен просто как nginx, а в сети глобального nginx он известен как projectname-frontend
08:36:14 ДП
User 112565265
у меня просто абсолютно всё внутри докера, нет ни одного сервиса за его пределами, поэтому глобальный nginx он там же внутри докера, просто в другой сети, и проброщен на 80/443 порт хост машины, а проекты вообще ни куда не проброщены, они все спрятаны в своих подсетях
08:38:21 ДП
User 200967190
Нарисовал схему
08:38:22 ДП
User 200967190
https://www.draw.io/?chrome=0&lightbox=1&edit=https%3A%2F%2Fwww.draw.io%2F%23G0B6X3SOAgohFhazlYem11SldjSUk&nav=1#G0B6X3SOAgohFhazlYem11SldjSUk
draw.io
draw.io is a free online diagramming application and flowchart maker . You can use it to create UML, entity relationship, org charts, BPMN and BPM, database schema and networks. Also possible are telecommunication network, workflow, flowcharts, maps overlays and GIS, electronic circuit and social network diagrams.
08:39:13 ДП
User 112565265
разреши доступ
08:40:48 ДП
User 200967190
еще раз попробуй
08:41:12 ДП
User 112565265
ага вижу
08:41:17 ДП
User 112565265
ну у меня примерно тоже самое
08:41:56 ДП
User 112565265
https://docs.docker.com/engine/userguide/networking/

только через докер нетворки изолированы
docs.docker.com/network
Overview of Docker networks and networking concepts
08:42:57 ДП
User 112565265
внутри сети работает докеровский встороенный сервис дескаверинг, т.е. ни какой etcd не нужен, сервисы друг с другом по заранее заданным хост именам обращются
08:45:00 ДП
User 112565265
https://docs.docker.com/engine/userguide/networking/configure-dns/
docs.docker.com/engine/userguide/networking/configure-dns
Learn how to configure DNS in user-defined networks
08:45:54 ДП
User 112565265
если нужно чтобы контейнер стал глобальным, просто в default сеть его включаешь, и алиас задаешь ему
08:46:48 ДП
User 200967190
А если локальные сервисы запускаются в докерах на разных машинах докеровский встороенный сервис дескаверинг будет работать?
08:48:18 ДП
User 112565265
только если докер в режиме кластера
08:49:16 ДП
User 112565265
https://docs.docker.com/engine/userguide/networking/get-started-overlay/
docs.docker.com/engine/userguide/networking/get-started-overlay
Use overlay for multi-host networking
08:50:09 ДП
User 112565265
в этом режиме еще и балансер встроенный будет
08:51:09 ДП
User 200967190
т.е. нужен swarm? а kubernetes не проверяли?
08:51:57 ДП
User 112565265
так в кубернейтс свой сервис дескаверинг, через как раз etcd / consul если я не ошибаюсь
08:52:25 ДП
User 112565265
если то о чем спрашивали, нужно сделать внутри кубернейтса, то там наверняка свои приблуды есть для этого
08:53:35 ДП
User 112565265
http://kubernetes.io/docs/user-guide/networkpolicies/ судя по всему через это реализуется
kubernetes.io/docs/user-guide/networkpolicies
Production-Grade Container Orchestration
08:54:08 ДП
User 200967190
спасибо за помошь
08:54:41 ДП
User 112565265
да не за что, надеюсь не запутал еще больше :)
09:06:03 ДП
User 141975931
User 200967190
спасибо за помошь
Привет. Посмотри еще в сторону mesos кластера. По мне он гибче и проще
09:10:28 ДП
User 200967190
Кроме сервиса дескаверинга я хотел хранить в локальном etcd и другие конфиги.
09:32:53 ДП
User 141975931
Если ты мне отвечаешь, то mesos никак не ограничивает тебя в используемых инструментах
09:33:04 ДП
User 141975931
можешь что угодно юзать для SD и конфиг тимплитинга
09:34:16 ДП
User 200967190
Денис, я Игорю отвечал.
09:37:02 ДП
User 112565265
Так ты можешь просто локальный etcd к примеру, не объединять в кластре с глобальным и ходить в локальный etcd за локальными данными, а за глобальными в глобальный, ни кто же ведь тебя не ограничивает в этом плане
09:57:40 ДП
User 200967190
хотелось бы автоматически. В consul есть datacenter. И есть глобальные consul сервера. Может consul для этого подойдет?  Вся Ли информация синхронизируется между data center? Как происходит синхронизация кто-нибудь может подсказать?
10:04:18 ДП
User 141975931
Наверняка посредством etcd
10:04:31 ДП
User 141975931
Как конкретно я думаю стоит почитать его ман
10:46:01 ДП
10:46:01 ДП
User 4627228
Алсо https://github.com/p8952/bocker :D :D :D
github.com/p8952/bocker
Docker implemented in around 100 lines of bash. Contribute to p8952/bocker development by creating an account on GitHub.
10:57:26 ДП
User 177558402
время создавать новый канал