OpenQuality.ru

Качество программного обеспечения

Качество программного обеспечения: в главных ролях

Лента  Радар  Блог  Опыт  
Разум  Видео  Заметки  Эпизоды


Docker и Google: прекрасное далеко, не будь ко мне жестоко

Привет.

В нашу эпоху Google- и StackOveflow-driven development кажется, что на любой технический вопрос можно найти ответ на просторах Сети. Однако это не так, или по крайней мере было так не всегда.

В 1997 году я столкнулся с проблемой. На одном из наших серверов HP стояла FreeBSD. Я добавил в этот сервер сетевую карту, но не мог увидеть ее в операционной системе. В то время я только начинал разбираться с Unix-системами (да и с любыми системами в целом), поэтому понять в чем дело мне было непросто. И было не у кого спросить. Сергей Брин и Ларри Пейдж еще только собирались создать свою поисковую систему. Да, были поисковые системы и до Google, но информации в них было немного (просто потому, что информации в целом было мало). И, самое главное, доступ в Интернет в те годы был жутко дорогой и медленный. В итоге я написал пару отчаянных постов в FidoNet (благо за доступ к фидошным конференциям платить было не нужно), но помощи так и не получил. В конечном итоге решил проблему методом перебора – просто вкуривал man pages (и заодно учил английский), пробовал различные варианты сеттингов в конфигурационных файлах, и наконец один вариант заработал.

В подобной ситуации волею судьбы оказался в 2010 году, когда понадобилось поднять Eucalyptus. Сергей и Ларри уже были миллиардерами, и Google был уже “торт”. Но про Eucalyptus он знал очень мало: система была малоизвестна, и коммьюнити хилое. В общем, пришлось помучаться без готовых рецептов.

Наконец, когда в 2015 году (или чуть раньше – точно не помню) нам понадобилось перейти с Selenium RC на WebDriver в наших тестах на базе Selenesse, оказалось, что такую задачу никто не решал, а если решал, то бросил на полпути, либо решением ни с кем не поделился. Пришлось изобретать велосипед.

К чему эти воспоминания? Просто в последнее время мне казалось, что в Google легко находится буквально все. Но вот совсем недавно понадобилось поднять Docker на Linux, и времени на это было совсем немного. Все казалось простым до безобразия, но вот незадача – сразу после установки докера пропадал доступ к этой машине извне (например, по SSH). Проблема особо не гуглилась, сообщения в логах наталкивали на догадки, но в голове крутилось “Как? Как такое может быть? Столько людей пользуются докером и в ус не дуют“. И далее: “Нам шарики или ехать? Времени у нас мало. Давай-ка мы быстренько пойдем по пути наименьшего сопротивления. Не работает на Ubuntu? Давай попробуем на CentOS“. Поставить CentOS и на ней Docker – 10 минут. Но на CentOS та же история. Long story short, пришлось таки копнуть чуть глубже. С задачей справился, но слегка удивило, что решение в выборке Google лежало не на ладони. Подумал, что, возможно, кто-то тоже может с этим столкнуться, и продублировать решение не помешает.

Итак, Docker при установке по умолчанию создает свой сетевой интерфейс docker0 с адресом 172.17.0.1 и маской 255.255.0.0. Видимо, при этом резервируется еще какой-то пул адресов в 172.*.*.*. Если в этот диапазон попадает адрес сетевого интерфейса машины (в моем случае, ens192), то снаружи по этому адресу не достучаться (да, порты открыты, файрволл выключен). Чтобы избежать конфликта интересов, можно настроить Docker на другой диапазон адресов. К примеру, так:

[dmauto@dmautocent ~]$ cat /etc/docker/daemon.json
{
“bip”:”192.168.1.1/24″,
“default-address-pools”:
[
{”base”:”192.169.0.0/16″,”size”:24}
]
}

Но в общем, да – нечего на Google пенять, если составляешь неверный запрос. Интересно что можно ожидать от поисковика в будущем?

Через пять лет искусственный интеллект Google научится понимать с полуслова: “SSH fails after docker installation? Hmm, (переходит на русский) ничего не нахожу, но думаю, что тебе daemon.json создать нужно. Жми сюда и скачай рабочий пример“.

Еще через пять лет: “Так, я понял проблему, твои креды у меня есть, сейчас все исправим, не трать время, иди смотри ‘Ход королевы’ и наслаждайся жизнью“.

И еще через пять: “Покажу только первые три результата поиска, пока не купишь подписку Premium. Или иди читай man pages. Я помню – ты можешь“.

Отправить в Twitter, Facebook, ВКонтакте | Опубликовано 21.12.2020 в рубрике "Инструменты"

Комментарии


Добавить комментарий

Пожалуйста, исправьте результат: дважды два равно



КРАТКОЕ СОДЕРЖАНИЕ

Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.


ПУТЕВОДИТЕЛЬ

Проект был основан в 2008 году. За это время часть статей устарела, а некоторые из них вызывают улыбку, но пусть они останутся в том виде, в котором были написаны. Cписок всех статей с краткой аннотацией и разбивкой по рубрикам: открыть.

ПОДПИСКА

Доступ к самым интересным материалам по электропочте и RSS. Подробности.

ИЩЕЙКА