Такие вещи, как виртуальные машины и контейнеры, существуют уже некоторое время, как и cloud-init, но некоторые до сих пор не осознают его истинный потенциал или даже не слышали о нем. Не поймите меня неправильно, cloud-init не заменяет две технологии, а дополняет их очень важным образом — это конфигурация, которая применяется к загрузке первого и последующих экземпляров.

Вы когда-нибудь создавали несколько виртуальных машин и просто мазохистски применяли одну и ту же конфигурацию ко всем из них одну за другой? Может быть, вы только что создали нового пользователя, установили несколько подходящих пакетов или сгенерировали SSH-ключ?

cloud-init здесь для вас, и он может предложить еще много полезных функций.

Cloud-init — это отраслевой стандарт, метод мультираспределения для кроссплатформенной инициализации облачных экземпляров. При загрузке экземпляра cloud-init идентифицирует облако, в котором он работает, считывает все предоставленные метаданные из облака и соответствующим образом инициализирует систему.

Я нахожу эту технологию чрезвычайно полезной, и она много раз экономила мне время и деньги:

  • Предварительная настройка виртуальных машин и контейнеров, которую я подготовил для участников моего семинара по облачным технологиям.
  • Сократить время сборки базового образа ОС (и стоимость) и применить определенную конфигурацию во время начальной загрузки.
  • Импорт моего SSH-ключа в целях отладки
  • Применение конфигурации поверх неизменного образа ОС

Все это здорово и весело, но поначалу мне было немного сложно тестировать, например:

Должен ли я применить конфигурацию и перезапустить виртуальную машину? Как насчет конфигурации загрузки первого экземпляра?

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

Я решил протестировать его с помощью Multipass, но я также потенциально мог бы использовать LXD, поскольку он поддерживает облачную инициализацию, и я рекомендую вам попробовать его.

Сначала вам нужно установить Multipass, а затем, создав файл конфигурации cloud-init, вы можете легко протестировать его, просто запустив:

multipass launch --cloud-init cloud-config.yaml

Виртуальная машина запустится, и вы сможете проверить, применена ли конфигурация. Это так просто!

Спасибо за прочтение! :) Если вам понравилась эта статья, нажмите кнопку хлопка ниже 👏

Это много значит для меня, и это помогает другим людям увидеть историю. Скажи привет в Instagram | Линкедин | Твиттер

Хотите начать использовать Medium? Используйте эту реферальную ссылку 🔗

Если вам понравился мой пост, вы можете купить мне хот-дог 🌭

Подпишитесь на меня, чтобы узнать больше по теме, ура!