Рубрики
Uncategorized

Azure Resource Manager (ARM) Советы по шаблону

Советы/лучшие практики для написания шаблонов рук. Tagged с помощью Azure, Architecture, DevOps, производительности.

Что такое шаблоны рук?

Шаблон Mazure Resource Manager — это декларативный файл JSON, который определяет инфраструктуру и конфигурацию вашего проекта. В этом гибком мире мы живем и принимаем процесс «Сдвиг слева» И автоматизация наших развертываний мы хотим добавить нашу инфраструктуру в нашу жизненную цикл разработки программного обеспечения, это известно как инфраструктура в качестве кода. Это практика, которая еще больше снижает разрыв между развитием и операциями. Здесь мы определяем и версируем нашу инфраструктуру в коде, так же, как мы делаем наше приложение.

Теперь, когда у нас есть базовое понимание целей шаблонов ARM, я хочу поделиться несколькими советами и лучшими практиками для их использования.

Используйте функции

Шаблоны ARM дают вам возможность создавать свои собственные функции в шаблоне. Эта функциональность позволяет вам создавать функции, которые упростили бы процесс создания ваших ресурсов в Azure. Например, скажем, все ресурсы для шаблона принадлежат финансовому департаменту, вы, вероятно, захотите префакционировать эти ресурсы с чем -то вроде «плавника» или «финансирования». С помощью пользовательских функций вы можете сделать именно это. См. Пример ниже:

Функция, определенная выше, будет префикс «Financeept-» на имя ресурса. Скажем, мы создаем учетную запись хранения для финансового отделения и называем его «Storage2020», ресурс будет назван «Financeept-Storage2020», когда шаблон будет развернут.

Вложенные шаблоны

Далее у нас есть вложенные шаблоны. При создании шаблона рук он имеет тенденцию расти довольно быстро, и никто не хочет проходить файл JSON, длительный составляет тысячи строк. Именно здесь можно разделить нашу инфраструктуру на разные шаблоны, которые затем можно назвать из одного шаблона триггера.

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

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

Группы ресурсов и подписки

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

  • Единое развертывание ограничено 5 группами ресурсов
  • Если группа ресурсов не установлена, то используются значения для родительского шаблона
  • Учетная запись, выполняющая развертывание, должна иметь разрешение на подписку

Условные развертывания

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

Выше мы добавляем условие к развертыванию учетной записи хранения, используя Neworexisting параметр. Если параметр установлен для развертывания учетной записи хранилища, а не, если он устанавливает что -либо еще.

Режимы развертывания

Существует два типа режимов развертывания для шаблонов ARM, один из них — по умолчанию ИНКРЕМЕНТАЛЬНЫЙ МОДА который довольно эксплуатационен. Другой — Полный режим Анкет

Черты постепенных развертываний следующие:

  • Весь ресурс, определенный в шаблоне, будет создан в указанной группе ресурсов
  • Обновите конфигурацию для ресурса, который отличается от того, что определено в шаблоне
  • Все ресурсы в группе ресурсов, которые не являются частью шаблона, будут проигнорированы

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

Вывод

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

Оригинал: «https://dev.to/raidzen10/azure-resource-manager-arm-template-tips-26c»