Начало работы с Azure Bicep (пошаговое руководство)

Необходимо ли вам строить инфраструктуру в Azure? Вы рассматривали ARM-шаблоны и думали: “Вау, выглядит сложно”? Поскольку многие жаловались на сложность создания ARM-шаблонов, Microsoft разработала уровень абстракции под названием Azure Bicep.

В этом руководстве вы узнаете, как начать с нуля. Вы узнаете, как сделать все, начиная от настройки среды разработки и заканчивая развертыванием вашего первого шаблона Bicep!

Давайте начнем!

Предварительные требования

Этот учебник будет практическим демонстрационным материалом. Если вы хотите следовать за ним, убедитесь, что у вас есть следующее:

  • Windows 10 – Большинство демонстраций в этом учебнике будут работать на других операционных системах, но все демонстрации будут использовать Windows 10.
  • Visual Studio Code – В этом учебнике будет использована версия 1.60.2.
  • Группа ресурсов Azure для развертывания – В этом учебнике будет использоваться группа ресурсов с именем ATA.

Что такое Azure Bicep?

Bicep – это язык, специфичный для области, который упрощает создание шаблонов ARM. Можно представить Bicep как слой абстракции над шаблонами ARM. ARM использует JSON и может стать сложным, особенно для крупных развертываний.

Майкрософт решила создать Bicep, чтобы уменьшить сложности и улучшить опыт разработки. Это не новый язык; думайте о нем скорее как о улучшении шаблонов ARM в формате JSON.

Настройка среды разработки Bicep

Для начала разработки шаблонов Bicep вам потребуется настроить среду, которая поможет вам достичь наилучших результатов. Для этого у вас есть несколько инструментов. Давайте сначала настроим необходимую среду, включая расширение Bicep для VS Code, CLI Bicep и, при необходимости, модули Azure PowerShell.

Установка расширения Bicep для VS Code

VS Code – отличный инструмент разработки для создания шаблонов Bicep. Для этого Microsoft предоставляет расширение VS Code, чтобы облегчить создание шаблонов Bicep. Давайте начнем создавать среду разработки, подготовив VS Code.

Откройте Visual Studio Code и нажмите на кнопку Расширения.

Opening extensions

В строке поиска введите “bicep”. Вы увидите одно расширение Bicep. Когда это произойдет, нажмите на Установить. Через несколько моментов VS Code установит расширение Bicep.

Search and install bicep extension

Хотя в следующем разделе будет предоставлен шаблон Bicep для копирования/вставки, несомненно, у вас будут времена, когда вам нужно будет создавать шаблоны Bicep с нуля. Расширение Bicep в VS Code пригодится здесь, особенно благодаря его функциям интеллектуального анализа.

Обратите внимание, что если вы откроете файл с расширением .bicep в VS Code, VS Code попытается предоставить вам быстрые клавиши. Например, вы создаете ресурсы Azure с помощью ключевого слова resource в шаблоне Bicep. С установленным расширением Bicep VS Code понимает это.

Typing the resource command

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

Blank bicep template

Точка (.) – еще один удобный быстрый способ при создании шаблонов Bicep. Введя это в разделе properties, например, вы увидите все доступные свойства для учетной записи хранилища.

Properties available for a storage account

Установка Bicep CLI

После создания необходимо вызвать шаблоны Bicep с помощью Bicep CLI. Прежде чем пытаться установить Bicep CLI, проверьте, установлен ли он. В зависимости от версии Azure CLI, которую у вас установили, у вас может уже быть установлен Bicep CLI. Чтобы проверить, откройте консоль PowerShell или терминал и проверьте версию Bicep CLI.

	az bicep version

Если у вас установлен Bicep CLI, вы увидите сообщение о версии, как показано ниже.

Bicep CLI version

Если вы видите сообщение об ошибке о том, что Bicep CLI не найден, выполните подкоманду install для установки Bicep CLI.

az bicep install

Теперь вы увидите вывод, как показано ниже. Это подтверждает, что Bicep CLI успешно установлен и готов к использованию.

Bicep installed successfully

В качестве альтернативного способа установки вы также можете установить Bicep CLI через установщик Bicep для Windows.

Создание шаблона Bicep для развертывания учетной записи хранилища

Вы можете развернуть некоторые сложные ресурсы Azure с использованием Bicep, но давайте начнем медленно. Для вашего первого шаблона Bicep создадим простой аккаунт хранения Azure, который вы затем сможете развернуть в Azure с использованием как Azure CLI, так и PowerShell в следующем разделе.

1. Откройте VS Code и создайте новый файл с именем main.bicep. Вы не обязаны давать файлу точно такое имя, как здесь, но, следуя примеру Terraform, общепринято называть шаблон main с расширением .bicep.

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

Сначала вы увидите некоторые общие атрибуты для всех шаблонов Bicep:

  • Идентификатор ресурса (resource myStorage) – указывает Bicep создать новый ресурс с именем myStorage. Это имя идентифицирует конкретный ресурс внутри шаблона Bicep. Это имя не является именем ресурса, созданного в Azure.
  • Microsoft.Storage/storageAccounts@2019-06-01 – Определяет тип, состоящий из поставщика ресурсов Microsoft.Storage, типа ресурса (storageAccounts) и версии API (2019-06-01) для использования.
  • name Имя ресурса, как оно отображается в Azure (обратите внимание на правила и ограничения для именования ресурсов Azure.)
  • location – Регион Azure, в котором создается ресурс.

Вы также увидите некоторые атрибуты, специфичные для ресурсного типа storageAccounts:

  • SKU – SKU учетной записи хранилища (Standard_LRS), определенный в свойстве name.
  • kind – Тип учетной записи хранилища (StorageV2).
  • properties Различные ресурсоспецифичные свойства, которые не имеют собственного раздела, такие как accessTier в этом примере. Эти свойства такие же, какие вы найдете в шаблонах ARM.
resource myStorage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'ata2021bicepdiskstorage'
  location: 'uksouth'
  SKU: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
        
  }
}

Развертывание шаблона Bicep с помощью PowerShell

Как уже упоминалось ранее, вы можете развертывать шаблоны Bicep одним из двух способов: через Azure CLI и модуль Azure PowerShell. Давайте сначала развернем шаблон Bicep с помощью PowerShell.

Убедитесь, что у вас установлен модуль Azure PowerShell и вы аутентифицированы в Azure, прежде чем начинать этот раздел.

Развертывание ресурсов Azure с помощью шаблонов Bicep идентично развертыванию шаблонов ARM. Microsoft по сути добавила поддержку языка Bicep к многим существующим командлетам PowerShell ARM, таким как New-AzResourceGroupDeployment.

В консоли PowerShell вызовите развертывание новой группы ресурсов с помощью командлета New-AzResourceGroupDeployment, указав путь к шаблону Bicep и ResourceGroupName для развертывания. Вы заметите, что можете использовать шаблон Bicep точно так же, как и шаблон ARM.

New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName ATA

Если развертывание прошло успешно, вы увидите следующий вывод в вашей сессии PowerShell с свойством ProvisioningState, отображающимся как успешное. Вот и все!

Deploying resource with Bicep

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

Azure Portal

Если вы следуете за нами и создали аккаунт хранения как демонстрацию, не забудьте удалить его! Обратите внимание, что ResourceName совпадает с name, указанным в шаблоне Bicep.

Remove-AzResource -ResourceName ata2021bicepdiskstorage -ResourceGroupName ATA -ResourceType "Microsoft.Storage/storageAccounts"

Теперь вы увидите следующий вывод.

Removing an Azure storage account

Развертывание шаблона Bicep с помощью Azure CLI

Для завершения этого учебного пособия давайте рассмотрим развертывание только что созданного вами шаблона Bicep с помощью Azure CLI.

Убедитесь, что у вас установлен Azure CLI версии 2.2.0+ и вы вошли в систему перед началом этого раздела.

С открытым окном PowerShell или другим терминалом вызовите развертывание ARM с помощью команды az deployment group create. Эта команда выполняет развертывание ARM так же, как и в PowerShell. Обязательно укажите resource-group для развертывания, а также шаблон Bicep, созданный ранее, с помощью параметра template-file.

az deployment group create --resource-group ATA --template-file main.bicep

Если вы видите, что provisioningState равен Succeeded, как показано ниже, это означает, что ARM прочитал шаблон Bicep и выполнил все инструкции!

provisioningState as Succeeded
Output in JSON from az deployment command

Не забудьте очистить ресурс с помощью команды az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"

Заключение

Теперь у вас есть среда разработки для Azure Bicep и созданный ресурс в Azure, какой будет ваш следующий шаг? Может быть, посмотреть, что предлагает Microsoft Learn по Bicep?

Возможно, провести демонстрацию вашим коллегам о том, как Bicep может помочь вашей организации?

Source:
https://adamtheautomator.com/azure-bicep/