@devops_ru

Страница 3958 из 4568
Egor
12.06.2018
18:02:17
так что наверное нужна

Дмитрий
12.06.2018
18:03:01
как предполагается балансировать ip?

Egor
12.06.2018
18:03:36
какой ip? точку входа снаружи?

Дмитрий
12.06.2018
18:04:40
да

Google
Egor
12.06.2018
18:05:17
ещё не знаю. смотря где хоститься. может какой-то плавающий адрес от хостера. может keepalived, если это будут железки на одном свиче

Дмитрий
12.06.2018
18:06:35
в обоих этих вариантах достаточно 2 машины с http прокси которые будут проксировать запросы внутрь проекта на фронт, бэк и т.д.

Egor
12.06.2018
18:08:20
что касается олдскульного админства, тут у меня вопросов нет, что-нибудь придумаю. все вопросы у меня по девопс-части. а именно: чем делается 0downtime при выкатке? чтобы создавался новый контейнер с другим именем, потом nginx переключался на него, а старый гасился. Это всё надо вручную скриптовать, или есть уже что-то типовое?

Дмитрий
12.06.2018
18:11:07
что касается олдскульного админства, тут у меня вопросов нет, что-нибудь придумаю. все вопросы у меня по девопс-части. а именно: чем делается 0downtime при выкатке? чтобы создавался новый контейнер с другим именем, потом nginx переключался на него, а старый гасился. Это всё надо вручную скриптовать, или есть уже что-то типовое?
docker-compose это делает из коробки. Он сперва выкачивает свежий контейнер, а затем пересоздает его. Но можно отдельной строкой выкачать свежий контейнре Во вторых, у тебя на http проксе должен стоять балансировщик, который не будет направлять запросы на не отвечающую ноду

Egor
12.06.2018
18:11:45
нужно ли nginx тоже заворачивать в докер, чтобы он знал о контейнерах по имени?

Дмитрий
12.06.2018
18:12:24
т.е. docker-compose up -d сам сперва выкачивает, а потом уже перезапускает. но можено сделать docker-compose pull docker-compose up -d

нужно ли nginx тоже заворачивать в докер, чтобы он знал о контейнерах по имени?
Я положил конфиги nginx в проект и выкатываю его тоже через CI

в контейнере

Egor
12.06.2018
18:14:00
или может сделать входной nginx просто на хост-машине, чтобы он терминировал ssl, обновлял letsencrypt, а за ним уже докерный Nginx? или лишнее?

Дмитрий
12.06.2018
18:15:16
нужно ли nginx тоже заворачивать в докер, чтобы он знал о контейнерах по имени?
У меня все по разным хостам, по этому не стоит задача по имени делать, но если бы стояла, я бы поднимал контейнеры в сетке хост машины. и ходил бы на локалхост. Так и фаерволом рулить удобнее.

Egor
12.06.2018
18:15:36
а то я немного не представляю, допустим, nginx в докере, но мне нужен крон обновления letsencrypt, который релоадит nginx. Его релоадить через docker exec -it $id "nginx -s reload" ?

Дмитрий
12.06.2018
18:15:59
да, можно так

просто папку с сертификатами в контейнер прокинь

Google
Дмитрий
12.06.2018
18:16:28
только придется их ещё на второй хост заливать

Дмитрий
12.06.2018
18:17:11
эта схема не очень оптимальная, может кто-то что-то лучше подскажет

Egor
12.06.2018
18:17:59
У меня все по разным хостам, по этому не стоит задача по имени делать, но если бы стояла, я бы поднимал контейнеры в сетке хост машины. и ходил бы на локалхост. Так и фаерволом рулить удобнее.
я наверное немного не про то. мне надо сделать proxy_pass http://backend, и чтобы в бэкэнде произошло обновление старого контейнера на новый без даунтайма. Айпишники у контейнеров спавнятся произвольные. Как мне проксироваться на докер?

ох, чувствую, что не осилю я это всё и сбегу в своё уютное классическое админство :(

Дмитрий
12.06.2018
18:23:13
я наверное немного не про то. мне надо сделать proxy_pass http://backend, и чтобы в бэкэнде произошло обновление старого контейнера на новый без даунтайма. Айпишники у контейнеров спавнятся произвольные. Как мне проксироваться на докер?
про то. ты говоришь про случай когда у тебя контейнеры поднимаются на своих виртуальных айпишниках и тогда нужно чтобы контейнер с nginx знал айпишники или резолвил по именам обновленные контейнеры, но когда ты используешь директиву network_mode: host, контейнеры поднимаюся на интерфейсе хост машины, на портах самой машины. и тогда с фронта можно обращаться на бэк просто на localhost или любой другой интерфейс

единственное нужно следить чтобы приложения на одних и тех же портах не пытались подняться

Egor
12.06.2018
18:24:48
вот, я как раз это и начал набирать. у меня ж expose ХХХХ в докерфайл вписан будет статично

Дмитрий
12.06.2018
18:24:53
если не пытаться 2 фронта или 2 бэка на одной машине поднимать, то должно быть норм

Egor
12.06.2018
18:25:27
не, это че-то не то. как тогда обновляться, ведь для обновления как раз и нужно 2 бэка

чтобы новый поднимался в параллель со старым, прогонял тесты, а потом nginx заруливал трафик на него

Дмитрий
12.06.2018
18:25:56
в чем проблема поднимать на разных ногах кластера с дайнтаймом?

Egor
12.06.2018
18:28:20
да не, это как-то коряво. не должно быть такого ограничения, что на одном ведре может быть только 1 контейнер приложения

Дмитрий
12.06.2018
18:29:10
тогда читай про docker networks

и поднимай всё в одной сетке

Egor
12.06.2018
18:32:56
думаю, мне всё-таки нужна простейшая оркестрация тут

Vladimir
12.06.2018
18:33:18
compose

Дмитрий
12.06.2018
18:33:38
network_mode: host хорошо ипрользовать когда нужно открыть поры не всем, а по определенному source ip, чтбы разруливвать родным фаерволом

думаю, мне всё-таки нужна простейшая оркестрация тут
нет, на 2-6 хостов, без авто скелйнга окрестрация это оверхэд. Лишние прослойки. Но если хочется поизучать что-то новое, то можно)

Google
Egor
12.06.2018
18:39:23
ужас в том, что я вообще не понимаю, как это делать. и ничего сложнее bash не умею из программизма

но всем спасибо за ответы

Niks
12.06.2018
19:32:13
что лучше прошивка от падавана или мерлина и какой роутер от асус посоветуете

Artem
12.06.2018
19:55:41
причем тут девопс

Эдуард
12.06.2018
19:58:28
#Нутыжепрограммист #тыжесисадмин #мнеленьгуглить

Vasiliy
12.06.2018
20:04:28
stolon/patroni для кластера базы, проект собирать в докер контейнерах и поднимать через docker-compose прямо из CI
Что можете сказать по поводу slony Просто сейчас использую https://github.com/paunin/PostDock для аналогичной истории ?

Дмитрий
12.06.2018
20:06:06
Vasiliy
12.06.2018
20:06:28
тьфу, pgpool имеется ввиду для отказоустойчивости.

ужас в том, что я вообще не понимаю, как это делать. и ничего сложнее bash не умею из программизма
В 11 хайлайтить - наверное неверно :) Но всё же, посмотри на rancher. Хотя на 2 машинки я бы лучше руками настроил один раз.

Maxim
12.06.2018
21:01:42
Подписывайтесь на DevOps&SRE Library - канал с книгами на тему DevOps и SRE https://t.me/devopslibrary

Sun
12.06.2018
22:55:48
А вот есть у кого Rancher в продакшне, который не допускает и пяти минут простоя? Нужно взвешенное мнение про плюсы и минусы

Отвечать лучше с @, а то могу пропустить

Vasiliy
12.06.2018
23:08:45
А вот есть у кого Rancher в продакшне, который не допускает и пяти минут простоя? Нужно взвешенное мнение про плюсы и минусы
Там есть два ранчера - 1.х - docker+обвязка 2.х - kebernetes+обвязка. Лучше уточнять. Личного опыта пока нет - у нас всё "очень просто". В смысле rancher1.x и это работает .. вроде.

Sun
12.06.2018
23:10:45
Скорее, второй. Сейчас идёт планирование переезда с шефа на кубер. Но очень много запланировано самописных костылей, которых кубер не умеет. Смотрим в сторону «над-кубер» решений, чтобы хотя бы от части костылей избавиться

Sun
12.06.2018
23:12:13
О, спс

Vasiliy
12.06.2018
23:13:24
[all] Если у вас есть свои идеи как реализовать решение без простоев - прошу предлагать.

Max
12.06.2018
23:46:25
Всем привет. Есть локальный домен corp.company.ru и есть внешний домен у хостера с таким же именем, только второго уровня domain.ru Появилась задача купить SSL сертификат для внешнего домена chat.domain.ru Вроде проблем никаких, но север чата находится внутри сети. Отсюда вопрос. Как лучше, поступить, чтобы привязать сертификат к внутреннему серверу? Я так понимаю надо поднимать 2 DNS-сервера и белыми IP и у хостера прописать эти серверы?

Извиняюсь за разные имена доменов. Не company.ru, а domain.ru

Vasiliy
12.06.2018
23:50:31
Извиняюсь за разные имена доменов. Не company.ru, а domain.ru
опиши с начала задачу: 1. Какие точно домены нужны 2. Какой сертификат заказывается - wildcard, обычный или let's encrypt достаточно 3. Доступ к чату нужен только с локалки или из интернетов тоже ? По постановке задачи - я бы для чата выпустил отдельный let's encrypt. Ну или локальный CA использовать.

Google
Vasiliy
12.06.2018
23:53:10
Исправил несколько раз изначальный пост :)

Max
12.06.2018
23:54:24
1. Домен chat.viang.ru 2. Думаю Let's encrypt более чем достаточно 3. Самородписанный запрещено. К черту коннектится будут извне. Внутри сертификат не нужен

Писец блин чёртов Т9 )))

К чату коннектиться будут извне

Vasiliy
12.06.2018
23:57:09
Внутренние клиенты смогут проверить let's encrypt ? Изолированных сред нет ? Тогда на каждый домен свой сертификат и наслаждайся.

Или вопрос в том - как разрулить это через один внешний IP ?

Max
13.06.2018
00:03:37
Собственно топология как есть сейчас

Суть в том, что MyChat для передача файлов от Android клиентов используется HTTPS

Внутренние клиенты смогут проверить let's encrypt ? Изолированных сред нет ? Тогда на каждый домен свой сертификат и наслаждайся.
Вопрос в том, что сертификат привязывается к доменному имени, а у меня сервер чата за НАТом. Не за НАТом только файрвол

Vasiliy
13.06.2018
00:08:32
Клиентам внутри сети сертификаты ни к чему. Только внешним надо
Так не бывает, SSL либо нужен всем, либо не нужен никому. Ну или с разными CN - так тоже можно. Суть в том, что тебе надо понять - если у тебя у внутренних клиентов доступ в интернет или нет. Ок. то есть тебе нужен балансировщик SSL, который будет терминировать то, что приходит из Интернета и на разные SNI отдавать разные сертификаты. Как в локалке это решать - смотри сам - хоть тем же балансировщиком, хоть по dns-view.

Еще, кстати, вариант - разнести в DNAT разные сервисы по разным портам. Ну там веб на 443, а чат на 8443

Max
13.06.2018
00:24:44
Эдуард
13.06.2018
01:09:07
Получи вайлдкард от letsencrypt. Запихни всюду. Велкам.

AveGa
13.06.2018
02:41:55
Девопсоны, подскажите. Играюсь с пайплайнами дженкинса и всякими докерами. Сейчас ситуация такая: дженкинс крутится в контейнере, к его образу прикручен докер-клиент и проброшены докер.сокс. Накидал простейший Jenkinsfile: pipeline { agent { docker { image 'ubuntu' } } stages { stage('Test') { steps { sh 'ls -lahF' sh 'pwd' } } } } При этом, если оно стартует на мастере, который сейчас единственный умеет в докер ин докер, то всё норм, но это говно выбирает ноды как-то рендомно и я никак не могу понять, где ограничить лейблы сборщиков для пайплайна.

В гугл чот тоже не получается.

AveGa
13.06.2018
03:05:43
Обычно это делается в настройках ждобы
Ну вот проблема как раз в том, что в обычных джобах у меня есть пункт, где можно ограничить лейблы сборщиков, а в пайплайне такого нет.

Денис
13.06.2018
03:09:13
Google
Nikita
13.06.2018
05:04:07
Всем привет, есть люди с опытом по glusterfs?

Дмитрий
13.06.2018
05:35:05
Всем привет, есть люди с опытом по glusterfs?
Только вчера тот же вопрос задавал)

Sergey
13.06.2018
07:42:25
Коллеги, есть вопрос по заббиксу вот допустим у вас есть две ноды, которые иногда отваливаются есть элемент agent.ping, который будет мониторить доступность агентов как отобразить на экране\таймлайне что в такие то моменты пинг не проходил? Или помогите плз сформулировать вопрос в гугл?

Страница 3958 из 4568