Почему временные метки на моих съемных носителях воспринимаются как время UTC?

Контейнеры хороши тем, что вы вынуждены упаковывать приложение и его зависимости вместе и, по сути, вынуждены автоматизировать это. Тогда относительно легко запустить один (или несколько) на машине автоматически.

Это может помочь при обновлении. Вернемся к этому через мгновение.

Нам нужен способ эффективно и надежно отправлять обновления нашим пользователям в полевых условиях.

Docker и rkt имеют собственные хранилища контейнеров; rkt, по крайней мере, также предлагает полную проверку криптографической целостности. Контейнеры Docker построены слоями, что обеспечивает некоторую эффективность (нужно только подтягивать измененные слои).rkt в настоящее время извлекает полный образ каждый раз, по крайней мере, в версии, которую я установил.

Образы можно конвертировать между ними — например, в недавнем проекте здесь я использую Docker для разработки (поскольку уровни могут очень помочь в этом), а затем конвертировать образ в rkt для развертывания (поскольку rkt больше подходит для системного администратора). дружелюбен и меньше беспокоит безопасность, по крайней мере, для меня).

Обратите внимание, что обе эти технологии в настоящее время активно развиваются. Формат контейнера, например, меняется. Поэтому вам следует ожидать частых обновлений, если вы выберете Docker или rkt.

Кстати: все ваши зависимости упакованы в контейнер, поэтому версия ОС, работающая вне контейнера, менее важна. Но обычно вы отправляете новый контейнер для каждого обновления. Это может потреблять значительную часть пропускной способности.

Нам также нужно что-то, что при обновлении ОС (нам уже давно пора обновить Ubuntu, как вы понимаете) мы могли чувствовать себя в относительной безопасности, потому что наши пакеты «просто работают».

Здесь вам нужна тестовая лаборатория. Уверенность в том, что обновление будет работать, должна основываться главным образом на том факте, что вы неоднократно тестировали его во всех поддерживаемых вами вариантах.

Контейнеры могут помочь — вы можете использовать их для автоматического запуска тестов (в качестве примера см. автоматическую настройку тестов GitLab). Контейнеры довольно легкие с точки зрения ресурсов хоста, гораздо больше, чем виртуальные машины. Таким образом, вы можете тестировать часто — даже каждую фиксацию.И следует запускать тесты с использованием тех же автоматизированных сценариев, которые создают контейнеры, которые вы отправляете, чтобы вы могли быть уверены, что ваш образ контейнера работает.

Но для фактического обновления базовой ОС вам потребуется протестировать его на реальном оборудовании. Вы также можете тестировать обновления ОС с виртуальными машинами (что приятно, поскольку затем вы можете очень легко откатить образ — и вы можете это автоматизировать), но вам также необходимо протестировать реальное оборудование. Тем более, что они в полевых условиях, и неудачное обновление, вероятно, дорого обходится.

Вкратце: контейнеры полезны для многих вещей, подобных этому, но я не думаю, что программное обеспечение еще достаточно зрело, чтобы мне было комфортно полагаться на его стабильность в течение следующих 5 лет. Я ожидаю, что в течение года или двух это изменится, так что это хорошая идея, чтобы подумать об этом сейчас.

PS: Нетехнический момент, на который стоит обратить внимание: если вы загружаете пакеты из архивов Ubuntu, Ubuntu, скорее всего, обрабатывает ваше соответствие GPL, имея исходный код, доступный из того же места. Если вы отправляете образы контейнеров, вам придется об этом побеспокоиться. (Конечно, вы также должны делать это при отправке машин.)

1
03.05.2016, 08:26
0 ответов

Теги

Похожие вопросы