Andrey
ноды идентичные
Yaroslav
он крайне легкий.
смотря для чего. если чтоб легаси сшить - нормально, а если свое писать, то лишняя и тяжелая обвязка.
Rainbow
Rainbow
после nomad только k8s. Ну ок, есть k3s, но это рисково
Rainbow
ноды идентичные
ну процессы будут жить. Просто не будет кворума и все замрёт.
Yaroslav
отпять же трафик какой - плюшевый http api раз в секунду или бинарные потоки.
Rainbow
nomad шедулит койнеры на хосте. Какой трафик?
Rainbow
там нет оверлейной сети или ещё чего. Это не его проблемы.
Andrey
вообщем смысл такой. В одном сервере 1Gb/1CPU все это прекрасно работает (по 10000 SSL/WebSocket коннектов тянет каждый). И не хотелось бы ради оверлейной сети городить избыточную инфраструктуру.
Andrey
То есть простейшее решение:
ssh туннели
Andrey
если consul это решит проще + даст KV, то супер
Rainbow
Andrey
Согласен
Rainbow
Rainbow
Andrey
отл. А для nomad я пока не созрел, но он как я понял поверх консула работает ведь?
Andrey
Слушайте, а кто нибудь тут soltstack знает?
Andrey
service discovery и healtcheck - да, именно это и надо
Andrey
жалко он на Go написан, а не на C
Rainbow
если у вас статические контейнеры - не испольйте докер.
Rainbow
используте ansible и все.
Rainbow
не используйте nomad*
Andrey
Я сейчас выбираю между ansible и soltstack
Andrey
контейнеры статичны - да
Rainbow
https://docs.ansible.com/ansible/latest/modules/docker_container_module.html
https://docs.ansible.com/ansible/latest/modules/consul_module.html
Rainbow
таск на docker run, таск на регистрацию service - пару строк и хорошо.
Rainbow
https://github.com/brianshumate/ansible-consul
хорошая роль
Andrey
спасибо
Rainbow
node_exporter тоже стоит на хосты ставить
Rainbow
https://github.com/cloudalchemy/ansible-node-exporter
хорошая роль =) и у них же prometheus для мониторинга
George
Ильдар
Andrey
Игорь
Вопрос. Было приложение монолит с Celery и MongoDB. Без докера.
Теперь Celery и Mongo рассованы каждый в свой контенер.
Но появилась проблема. Celery делало дампы монго по расписанию с помощью mongodump.
Но так, как монго теперь крутиться в отдельном контейнере, то у Celery больше нет доступа к утилите.
Как быть в этой ситуации?
Денис
George
вообще не пользоваться mongodump
George
использовать бекап на хост машине при помощи LVM snapshot
George
🙂
Serg
Что-то торможу.. есть такой docker compose файл: https://pastebin.com/WNkdypXw где в app по идее нет никаких маунтов. Но docker inspect показывает mounted volume: "Mounts": [
{
"Type": "volume",
"Name": "......",
"Source": "/var/lib/docker/volumes/...../_data",
"Destination": "/app",
"Driver": "local",
"Mode": "rw",
"RW": true,
"Propagation": ""
}
],
Serg
не могу понять откуда это взялось..
Ильдар
бывает)
Serg
это из докер файла VOLUME ["/app"] ?
Serg
блин, как только напишешь вопрос, находишь ответ..
Serg
при чем волиум не обновляется при обновлении docker image - остаются старые файлы, почему так?
inqfen
inqfen
Перенес туда прод базы, полет нормальный
inqfen
На слейве останавливается репликация, затем снапшот
🤔
в чем может быть причина приличного сжирания CPU демоном докера?
Sergey
Профилирование и трейсинг с perf.
Когда нужно отыскать причину сбоя, не имея доступа к исходным кодам. Все логи уже просмотрены, все debug и verbose-ключи включены, а причина проблем так и не обнаружена — используйте perf: http://amp.gs/4ZBY
Sergey
думаю в тему dockerd Лол
George
Ильдар
лол, не прошло и года)
https://jvns.ca/blog/2018/04/16/new-perf-zine/
Sergey
=)
Nutscracker
Подскажите как можно решить проблему, не получается расшарить папку локальную для дублирования данных с помощью опции volumes:
вот такой файл docker-compose.yaml
version: '3.1'
services:
db:
build: ./db
restart: always
environment:
MYSQL_ROOT_PASSWORD: somesome
command: mysqld --innodb-flush-method=littlesync --innodb-use-native-aio=OFF --log_bin=ON
volumes:
- ./databases:/var/lib/mysql
в db/Dockerfile
FROM mariadb
работаю на win 10 home, стоит сборка докера с virtualbox. в виртуальной машине создал дополнительную папку в которой я хочу работу вести http://prntscr.com/myrikl
в итоге при docker-compose up не копируются в папку databases файлы базы данных
George
George
В постгресс там докерфайл так написан, что если ты подключаешь вольюм, он пустой (нет базы) , то запускается процесс создания БД
George
Тогда логи контейнера при запуске смотри.
Nutscracker
сейчас попробовал создать - не появилась моя база в папке
George
В какой ?
George
Я думаю, что ты пытаешься замахнуться сразу на многр
Nutscracker
volumes:
- ./databases:/var/lib/mysql
Nutscracker
в databases
George
Попробуй поэтапно. Сначала без проброса каталога (проверишь, что все ок)
Nutscracker
без проброса все работает
George
Потом добавь volume (а не каталог)
Nutscracker
и с пробросом тоже работает
George
Потом добавь bind mount на каталог
George
Может у тебя виртуалбокс мозги насилует
George
В общем, кртако - проблем быть не должно, поэтому ты скорее всего что-то не то делаешь
Ильдар
Nutscracker
спасибо попробую)
Ильдар
George
тоже верно
Mi
подскажите тупарю, в чем проблема. запускаю elasticsearch в через docker-compose. в файл есть такая строчка volumes:
- /DATA/elk:/usr/share/elasticsearch/data
при запуске ругается: ERROR: for 167649c63f74_elasticsearch Cannot start service elasticsearch: error while creating mount source path '/DATA/elk': mkdir /DATA: read-only file system
ERROR: for elasticsearch Cannot start service elasticsearch: error while creating mount source path '/DATA/elk': mkdir /DATA: read-only file system
ERROR: Encountered errors while bringing up the project.
я сначала сделал на директорию /DATA и /DATA/elk 777. это не помогло. я поменял также права через chown 1000 -R /DATA. но ошибка остается все равно.
Mi
если строку убираю, контейнер запускается.
Ильдар
Создай в /tmp или в домашней директории директорию и с ней попробуй.