
Denis
12.03.2017
13:08:31
доступность видят оставщиеся менеджеры
если падает нода, остальные менджеры быстро решают кто главный и понимают сервисы что были на упавшей ноде
допустим у меня 30 парсеров по 10 на ноду, одна выпала, стало 20 , проголосвали, подняли еще по 5 инстансов до 30
это автоматически

Google

Denis
12.03.2017
13:11:55
проблема в том , что когда нода поднимается и приходит в себя ) на нее нагрузка не размажется
и она не сможет взять назад менеджера
тоесть будет пустая пока ты не сделаешь service scale и вручную не отдаешь ей права главного

ptchol
12.03.2017
13:13:57

Denis
12.03.2017
13:14:21
даже один решит что он главный когда никого не станет )

ptchol
12.03.2017
13:14:36
а когда и его не станет ?

Denis
12.03.2017
13:14:47
то иди мыль зад ) и к директору

ptchol
12.03.2017
13:15:22
тоесть на самом деле то, что я и сказал, мы должны сами контролировать доступность менеджеров и докидывать их при необходимости.

Denis
12.03.2017
13:15:59
что у тебя случиться что упадут сразу 3 менеджера ? ну сделать 4 в разных ДЦ
менеджер может просто управлятьи не принимать контейнеры

ptchol
12.03.2017
13:16:33
да дело не в "упадут" а в "хочу сворм на спот инстансах"

Denis
12.03.2017
13:16:54
кроилово ) ведет к поподалову
никто не мешает тебе каждую ноду делать менеджером

Google

ptchol
12.03.2017
13:17:16
долго рафт сходится будет, не ?

Denis
12.03.2017
13:17:22
менеджер так же исполняет контейнеры
я бы сделал так , взял инстанс микро
поставил туда главного

ptchol
12.03.2017
13:18:01
микро плохо, там сеть уг.

Алексей
12.03.2017
13:18:10
Пчол, копай сам. Видишь же пациент в другом уровне абстракции.

ptchol
12.03.2017
13:18:14
у нас тут зк покрутились на микро.... наелись...

Алексей
12.03.2017
13:19:30
Ну пчол про конкретные технологии а ты про 'сам'
Похоже на разговор менеджера и технаря

Denis
12.03.2017
13:20:37
:) ну я пытался как мог

ptchol
12.03.2017
13:20:47
я просто думал сворм как раз такой типа сам двигается, сам скейлится, сам реаллокейтится
а сейчас сижу доку читаю и как то там не очень он самостоятельный, и в "диком" облаке аля спот инстансы где половина нод могут взять и сдохнуть разом, без посторонней помощи походу сворм не выживет

Алексей
12.03.2017
13:22:58
Хочу. Но пока не могу
И к меня точно нет спотинстансов

ptchol
12.03.2017
13:23:30
ну ясики.

Denis
12.03.2017
13:23:44
микро у тебя точно не умрет

Алексей
12.03.2017
13:24:00
Хзхзхз

Google

Алексей
12.03.2017
13:24:18
Пчол, сколько спотов?

Denis
12.03.2017
13:24:24
в сравнении со спотами он маклауд

Алексей
12.03.2017
13:24:44
Ибо больше нод больше памяти
Ну и делов тоже больше
Планирование скейла, расчеты всякие

ptchol
12.03.2017
13:34:00
порядка 30 получается
30-35

Lomakin
12.03.2017
17:47:37
Коллеги прошу помощи, я начинающий можете тапочком похлопать ? задали лабу сделать не могу найти ошибку при сборке?
FROM node:7-onbuild
RUN mkdir -p /docker
WORKDIR /docker
RUN git clone https://github.com/acc-cloudaccess/app.git
#COPY git clone https://github.com/acc-cloudaccess/app.git
RUN npm install
EXPOSE 8080
CMD [ "npm", "start" ]
при сборке контейнера получаю
Step 1/1 : COPY package.json /usr/src/app/
lstat package.json: no such file or directory

Code
12.03.2017
18:23:25

Code
12.03.2017
18:23:58
RUN npm install можно удалить

Lomakin
12.03.2017
18:40:07
А как это описать?
А как это сделать в Dockerfile?

Code
12.03.2017
18:57:50
А как это сделать в Dockerfile?
Как я понял, образ node:7-onbuild полностью автоматический.
Достаточно в Dockerfile две строки:
FROM node:7-onbuild
EXPOSE 8080
и собираем контейнер docker build .
Я не тестировал, не могу уверенно сказать что будет работать


Lomakin
12.03.2017
19:08:20
Просто мне в лабе препод вот, что написал.
Необходимо организовать тестовый связанный сервис (web-сервер + app-сервер) на базе двух Docker контейнеров. Всю работу выполнить исключительно при помощи Dockerfile и Docker compose.
Предоставить результат в виде:
- Dockerfile для app-сервера
- Dockerfile для web-сервера
- Docker compose для итогового связанного сервиса
Пункты:
1. Необходимо организовать app-сервер (контейнер Docker) на базе платформы nodejs:
- в качестве базового образа docker использовать официальный образ «node:7-onbuild»
- код для app-сервера («Hello World») взять из публичного git-репозитория https://github.com/acc-cloudaccess/app.git
- app-сервер должен быть доступен только внутри сети контейнеров
2. Необходимо организовать web-сервер (контейнер Docker) на базе nginx:
- в качестве базового образа docker использовать официальный образ «nginx»
- настроить nginx таким образом, чтобы он принимал http трафик на порт 80 и осуществлял перенаправление всего трафика на app-сервер. Допускается использование конфигурационного файла для настройки nginx совместно с Dockerfile.
- web-сервер должен быть доступен снаружи сети контейнеров по порту 9000
3. Необходимо организовать связанный сервис из полученных контейнеров Docker на базе Docker compose:
- web-сервер должен быть доступен снаружи сети контейнеров по порту 9000
- контейнер web-сервера должен стартовать только при условии доступности app-сервера


Code
12.03.2017
19:10:25
Я до Docker compose еще не дошел.
А насчет сервера, вот эту сборку я тестировал. https://github.com/jwilder/nginx-proxy
На автомате привязывает домены к контейнерам.
Запускам контейнер с сервером docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
затем второй контейнер запускаем с параметром -e VIRTUAL_HOST=foo.bar.com
Где foo.bar.com - доменное имя.
Больше делать ничего не нужно.
Так же в репозитории есть пример с Docker compose.

Lomakin
12.03.2017
19:17:26
Кстати убрал все и оставил как ты говорил две строчи в Dockerfile ошибка повтарилась

Google

Code
12.03.2017
19:17:39
что за ошибка?

Admin
ERROR: S client not available

Code
12.03.2017
19:18:13
> Step 1/1 : COPY package.json /usr/src/app/
Эта чтоль?

Lomakin
12.03.2017
19:18:19
Ага

Code
12.03.2017
19:18:53
а в директории с проектом есть packages.json?

Lomakin
12.03.2017
19:22:48
Так мне его надо из репы дернуть RUN git clone https://github.com/acc-cloudaccess/app.git

Code
12.03.2017
19:24:21
Тогда начем с начало.
На локалку(или сервер) клонируем репозиторий и переходим в папку
git clone https://github.com/acc-cloudaccess/app DockerApp
cd DockerApp
Создаем Dockerfile с содержанием:
FROM node:7-onbuild
EXPOSE 3000
порт открываем 3000 потому что nodejs сервер стартует на этом порту
Далее собираем:
docker build -t dockerapp .
И запускаем: docker run -p -d 80:3000 dockerapp
Проверяем в браузере на localhost:80

Алексей
12.03.2017
19:25:23
@geekfil надюсь ты препод @kamelotnsk и не примешь зачет.

Code
12.03.2017
19:27:32
И все ради того чтобы научится быстро поднимать сайты на Django

Lomakin
12.03.2017
19:29:05
2 академ часа в пятницу и к понедельнику сделать лабу ?

Code
12.03.2017
19:30:14
Не страшно не сдать, страшно - не знать)
Пригодится же все это потом, раз преподы такие задания дают
пример что выше подкорректирвоал. -d и -p местами поменял
вобщем вот. работает

Vadim
13.03.2017
08:33:52
Вот такую штуку форвардну вам, надеюсь в тему :)
Приходите 22 марта в Avito на второй Moscow Kubernetes meetup!https://www.meetup.com/Moscow-Kubernetes-Meetup/events/238321060/

Igor
13.03.2017
08:45:10
можно ещё в @kubernetes_ru форварднуть

Google

Vadim
13.03.2017
08:46:14
о, не знал про такой, спасибо
а, там организатор митапа промышляет, только пока анонс не писал, не буду встревать
хотя нет, писал

Oleg
13.03.2017
09:29:35
Всем привет. Есть проблема на одном хосте с докером:
root@host:~# docker exec -ti some_container echo 1
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:1153: sending signal 0 to pid 23195 caused "permission denied"
Может кто сталкивался?
На других хостах всё норм.
ЧЯДНТ?

Constantine
13.03.2017
09:32:08
docker ps показывает контейнеры?
плюс попробуй echo 1 в кавычки

Oleg
13.03.2017
09:35:06
Может из-за apparmor?

zigmund
13.03.2017
14:02:01