
Sergey
14.10.2017
16:56:17
Единственный побочный эффект такой реализации - стоимость спокойствия может превышать размер зарплаты вечнозанятого эникея.

Dmitry
14.10.2017
16:56:46

bama^boy
14.10.2017
16:57:42
понятно, что если у тебя всего 1 сервер, то никакого HA нет, вопрос в том, какие полезные ролбеки осуществляет CF, которые не умеет terraform. Возможно, атомарность транзакции, но это довольно редкий кейс.

Google

Sergey
14.10.2017
16:57:42
Запланировать всё невозможно
А всё и не надо - достаточно задать себе вопрос "что будет, если вот эта конкретная операция идёт не по плану?", и повторять этот вопрос до тех пор, пока не будет внятного фоллбэка для каждого дейтсвия в провизионировании/управлении.

Dmitry
14.10.2017
16:58:10

Sergey
14.10.2017
16:58:29
В одном случае "не поднялся инстанс - да и фиг с ним", в другом - "ой, не поднялся, алармааааа!"

bama^boy
14.10.2017
16:59:02
я не вижу большой проблемы, когда ты увидишь ошибку при создании одного из 10 инстансов и откатишься вручную

Aleksey
14.10.2017
16:59:13
Коллеги, а какими решениями для HA пользуетесь?

bama^boy
14.10.2017
16:59:31

Aleksey
14.10.2017
16:59:49
И они тоже

Анатолий
14.10.2017
17:00:47

bama^boy
14.10.2017
17:01:15
тоже подумал про это, зачем нужно откатывать уже созданные инстансы, я не понимаю

Dmitry
14.10.2017
17:05:49

Magistr
14.10.2017
17:06:56

Dmitry
14.10.2017
17:07:11
@uMagistr это Вы о синтаксисе?

Google

Magistr
14.10.2017
17:07:35
да

Dmitry
14.10.2017
17:07:38
синтаксис - говно полное. но уже лучше

bama^boy
14.10.2017
17:07:39
в моем случае оператор контролирует процесс создания/изменения инфраструктуры и проблема ролбека не стоит

Dmitry
14.10.2017
17:07:40
yaml
да
Генерировать из шаблонов jinja неплохо получается, сносное решение.

bama^boy
14.10.2017
17:08:54

Dmitry
14.10.2017
17:09:00
Вот как только речь заходит о ручном удалении "того что нужно" я пас.

Magistr
14.10.2017
17:09:34

Dmitry
14.10.2017
17:09:36
особенно в 5 утра.

bama^boy
14.10.2017
17:09:41
да не ручное удаление, через тот же terraform
terraform destroy -target resource.that.failed
если много зависимостей, то помещайте их в модули

Dmitry
14.10.2017
17:10:44
ну блин, и как быть с умершим инстансом. например там данных тьма
я вот этого не пойму
данных или конфиги... (вариант с 100% поднятем с нуля не предлагать, это время ведь)

bama^boy
14.10.2017
17:11:30
инстанс создается через модуль, все привязанные к нему ресурсы там, просто удаляется весь модуль, который и есть ресурс

Dmitry
14.10.2017
17:12:09
если это база данных, например Cassandra или Elastic Search, какова цена такого дестроя (из-за ошибки)?

Magistr
14.10.2017
17:12:32
мы что-то все сферическое в вакууме обсуждаем

Google

Magistr
14.10.2017
17:12:46
если это база то там терминейшн протекшн на инстансе и на диске

Dmitry
14.10.2017
17:13:13

bama^boy
14.10.2017
17:13:31
если ты создаешь новую базу, то и фиг с ней

Dmitry
14.10.2017
17:13:38
да не новую, в том и дело

bama^boy
14.10.2017
17:13:40
если ты меняешь базу, то ничего не удаляется

Magistr
14.10.2017
17:13:45
какой конфигурацией мы управляем в итоге ?

Dmitry
14.10.2017
17:14:14

Magistr
14.10.2017
17:14:14
инстансом или базой

Dmitry
14.10.2017
17:14:29
(тип инстанса, security groups, etc)

bama^boy
14.10.2017
17:15:12

Dmitry
14.10.2017
17:15:12
там же конфиги генерятся.

Sergey
14.10.2017
17:20:21
А с виндой то не лишено смысла

Dmitry
14.10.2017
17:23:51
если что-то пошло не так с новым диском я хочу чтобы старый диск вернулся к своей точке монтирования
Ну еще какое групповое изменение с зависимостями

bama^boy
14.10.2017
17:25:11

Google

Dmitry
14.10.2017
17:25:29
пардон, не точка монтирования и имя диска
/dev/sda
имя блочного устройства

Magistr
14.10.2017
17:25:55
пофиг на имя когда есть uuid

bama^boy
14.10.2017
17:26:12
зачем это вообще менять, глупость какая-то
особенно менять местами с новым диском
и делать это в автоматическом режиме

Dmitry
14.10.2017
17:27:32
почему? был маленький диск gp2 а я хочу добавить еще один большой более быстрый. или просто уменьшить диск

bama^boy
14.10.2017
17:27:49
умные люди придумали LVM, ZFS, raid и еще кучу вещей

Dmitry
14.10.2017
17:28:28
и как это спасает от необходимости уменьшить размер диска или сменить тип диска?

Admin
ERROR: S client not available

bama^boy
14.10.2017
17:28:30
если ты хочешь уменьшить диск, то тебе нужно это сделать еще на уровне файловой системы

Dmitry
14.10.2017
17:28:44
ага, юзать 100MB а платить за 2TB?
браво)

bama^boy
14.10.2017
17:28:54
не представляю, как тебе ролбэк CF поможет в этом случае
и даже, если диск почему-то не уменьшился со стороны api, то что нужно откатывать в этом случае?

Dmitry
14.10.2017
17:30:24
так, что он вернет все обратно, если что-то не так. а если все ок на уровне фс повторяемый таск от ansible все сделает сам
> и даже, если диск почему-то не уменьшился со стороны api, то что нужно откатывать в этом случае?
это как?

EtoZheSlava
14.10.2017
17:31:53
я хз может ли terraform залезть на инстанс и что-либо там сделать

Dmitry
14.10.2017
17:31:56
короче я говорю о тех моментах когда в связке несколько ресурсов и очень опасно применять предыдущее состояние, так-как в реальности может быть ни первое не второе а вообще третье

Google

EtoZheSlava
14.10.2017
17:33:38
terraform всегда обновляет (в память, terraform refresh - запишет в стейт ) то есть опрашивает текущее состояние какого-либо ресурса

bama^boy
14.10.2017
17:34:02
terraform умеет работать в связке со сторонними системами, там есть такой ресурс как provisioner

Dmitry
14.10.2017
17:34:32
я не хочу чтобы у меня healtheck и Security group были разными.

EtoZheSlava
14.10.2017
17:35:09

Dmitry
14.10.2017
17:35:28
?

bama^boy
14.10.2017
17:35:43

Dmitry
14.10.2017
17:35:56

EtoZheSlava
14.10.2017
17:35:57

bama^boy
14.10.2017
17:37:30
чтобы хэлсчек заработал, нужно сначала создать SG, насколько я понимаю, если SG создалась, а хэлсчек по каким-то неведомым причинам нет, то нужно просто повторить процедуру создания хэлсчека, а не удалять SG

Dmitry
14.10.2017
17:37:32

Roman
14.10.2017
17:38:48
Парни у вас такая задушевная беседа, прям завидно! Пойду кая конфигурировать VPC на амазоне! Стану умным, как вы :)

bama^boy
14.10.2017
17:39:30
опять же, в тераформе есть возможность вручную указывать зависимость одних ресурсов от других, если зависимость не создалась, то и зависимый ресурс не создастся

Dmitry
14.10.2017
17:39:50
чтобы хэлсчек заработал, нужно сначала создать SG, насколько я понимаю, если SG создалась, а хэлсчек по каким-то неведомым причинам нет, то нужно просто повторить процедуру создания хэлсчека, а не удалять SG
смотрите,
состояние 1. HC порт 80 2. SG открыт порт 80.
теперь надо сменить порты на 443.
меняем конфиг. HC порт 443 2. SG порт 443.
запускаем конфиг, что-то меняется первым, допустим SG. на 443. круто
ELB не меняет HC, например, что происходит с SG? что происходит с приложением?
и какую зависимость нужно сделать здесь? SG от ELB или наоборот?
@etozheslava ^

bama^boy
14.10.2017
17:40:51
тут все просто, создаем новые порты и sg, проверяем, что все работает, сносим старые порты и sg

Dmitry
14.10.2017
17:40:59
?
ну задача то сменить а не добавить
вы решаете ее обходным путем (почти ручным)
я же говорю об оркестрации когда шансы ошибки гарантировано снижены
и да, в Вашем сценарии все равно есть шанс ошибки.