@devops_ru

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

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

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

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
И они тоже

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

Dmitry
14.10.2017
17:05:49
тоже подумал про это, зачем нужно откатывать уже созданные инстансы, я не понимаю
Ну мы же понимаем, что пример с 10 инстансами это только упрощенный вариант. CF Stack содержит полно всякого хлама, в том числе DNS записи, конфиги vpc итд

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
Генерировать из шаблонов jinja неплохо получается, сносное решение.
ну да а еще можно на питоне в тропосфере писать

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
инстансом или базой
конфигом инстанса Elastic Search, например

(тип инстанса, security groups, etc)

bama^boy
14.10.2017
17:15:12
то есть вариант удаления не прокатывает. Но мы вручную запускаем предыдушее состояние?
можешь привести нормальный пример, я не понимаю, что у тебя пошло не так и как в этом случае надо откатиться

Dmitry
14.10.2017
17:15:12
инстансом или базой
я ансибл упомянул потому что у меня CF завернут с Ansible.

там же конфиги генерятся.

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
не представляю, как тебе ролбэк CF поможет в этом случае
еще пример. сменить healcheck ELB. но не просто сменить а поменять что-то в security group

я не хочу чтобы у меня healtheck и Security group были разными.

EtoZheSlava
14.10.2017
17:35:09
Dmitry
14.10.2017
17:35:28
для этого есть соответствующий тип ресурса
и? если security group не создается, что делает heal check?

?

EtoZheSlava
14.10.2017
17:35:57
и? если security group не создается, что делает heal check?
он и не создается - ибо зависимость

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

Dmitry
14.10.2017
17:37:32
он и не создается - ибо зависимость
между чем и чем? а если наоборот, healcheck не сменился

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
?

ну задача то сменить а не добавить

вы решаете ее обходным путем (почти ручным)

я же говорю об оркестрации когда шансы ошибки гарантировано снижены

и да, в Вашем сценарии все равно есть шанс ошибки.

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