Рубрики
Uncategorized

Шаблоны демистифицирующих рук: параметры

В предыдущих учебниках мы узнаем, как создавать ресурсы, используя менеджер Azure Resources (ARM) TE … Теги с лазурным лазурным, облаком, DevOps, учебником.

Демистифицирующие шаблоны руки (12 части серии)

В предыдущих руководствах мы узнаем, как создавать ресурсы, используя шаблон Azure Resources (ARM). Тем не менее, это было все статическое и определенное внутри шаблон. В этом руководстве вы узнаете, как использовать параметры, чтобы сделать ваш шаблон динамическими и проще в использовании.

Azure DEVOPS — DEVOPS LAB — Видео

Типы параметров

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

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
}

Это где мы определим наши параметры. Существует несколько типов параметров, но прежде чем мы отправимся в список их и видим некоторые сценарии, давайте понять, как определены параметры.

Определение параметров в шаблонах менеджера ресурсов Azure Resource

Легко подумать о параметрах, таких как клавишевое значение. Что-то вроде параметра как имя и значение. Но там гораздо больше, чем это. Давайте рассмотрим здесь наш раздел параметра.

"parameters": {
  "storageSKU": {
    "type": "string",
    "allowedValues": [
      "Standard_LRS",
      "Standard_ZRS",
      "Standard_GRS",
      "Standard_RAGRS",
      "Premium_LRS"
    ],
    "defaultValue": "Premium_LRS",
    "metadata": {
      "description": "The type of replication to use for the storage account."
    }
  }
}

Есть один параметр определяет здесь с именем Storagesku . Это строка, но потому что мы не были, когда пользователи пишут любые значения, которые мы использовали Пусть Свойство, чтобы перечислить разрешенное значение для нашего параметра. Пункты — это массив значений любого типа.

Это хорошая практика для использования двух других свойств, чтобы помочь пользователю понять, как использовать наш параметр: DefaultValue и Описание Отказ Значение по умолчанию Это способ сказать пользователю, если вы не знаете, просто говорите что-нибудь. Это отличный способ сделать наш шаблон простым в использовании без ущерба для гибкости. Описание, часть секции метаданных, это то, что, конечно, вы даете наиболее подробную информацию об ожидаемом значении и/или влиянии на развернутые ресурсы.

Чтобы дополнить тех, кто также есть Minvalue, Minlength, MaxValue и Max длина, которая ограничивает то, что приемлемо в качестве значения.

Типы параметров

Существуют несколько типов параметров для размещения информации различного типа. Мы уже упоминаем Строка Тип и другие больше и типа int. , Bool и Массив Отказ

Тогда есть SecureString Очень удобный способ передать пароль, например. Используя SecureString Тип убедитесь, что информация не может быть прочитана после развертывания ресурсов.

Наконец, у нас есть объект и SecureObject Отказ С помощью этих вы можете определить полный объект со многими свойствами, это чрезвычайно мощно. И все становятся очень гибкими, когда вы начинаете смешивать все эти типы вместе, например, пропустить массив объектов! Мы рассмотрим эти сценарии в следующей главе.

Использование параметров

Теперь, когда мы знаем, как объявить параметры, пришло время посмотреть, как мы их используем. Это может быть легко сделать с помощью имени функции Параметры ({parametername}) это включено в руку. Эта функция вернет значение «parametername». Например Параметры («Storagesku») вернется «Premium_lrs».

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

{
   ...
    "name": "[parameters('storageSKU')]",
   ...
}

Развертывание с параметрами

Мы учимся в предыдущей главе разные способы развертывания шаблона руки, но как вы можете сделать то же самое, проходящие значения параметров? Конечно, с Azure CLI, вы могли бы просто пройти все значение клавише в команду, как это:

az group deployment create -g MyResourceGroup --template-file azuredeploy.json --parameters storageName=tstStorage storageKind=StorageV2

Это действительная команда, и она будет работать. Однако это не очень удобно и портативный. У меня лучше будет пройти файл параметра. И у вас может быть другой файл в зависимости от среды, которую вы ориентируетесь.

az group deployment create -g MyResourceGroup --template-file azuredeploy.json --parameters azuredeploy.parameters.json

Создайте файл параметра.

Файл параметра — это еще один файл json. Таким образом, вы можете легко создать это в любом текстовом редакторе. Однако есть несколько действительно хороших функций в расширении кода VS: Azure Resource Manager (ARM) Инструменты Это заставит вас сэкономить много времени.

Чтобы создать новый файл параметра, просто щелкните правой кнопкой мыши в любом месте в шаблоне ARM, чтобы сделать контекстное меню для всплывающего окна. Выберите Выберите/Создать файл параметра … Тогда Новый и наконец Все параметры Отказ

Это создаст новый файл со следующей структурой.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "storageSKU": {
            "value": "Premium_LRS"
        }
    }
}

Интересная особенность использования Azure Resource Manager (ARM) Инструменты Это то, что он проверит шаблон и значения параметров, связанных с ним.

Сообщение об ошибке проверки можно увидеть мышкой Over Old или в Проблема Вкладка в консоли (Ctrl + ` ).

Больше безопасности

SecureString Внутри шаблон руки действительно велик. Используя их, убедитесь, что наша конфиденциальная информация не будет отображаться в журналах. Но если мы используем файл параметра, то значение также будет присутствовать в чистом тексте! Чтобы не делать это, и по ошибке, толкая наш пароль в исходном управлении, нам нужно использовать Azure KeyVault. . Вам нужно будет иметь активное keyWault, и вы сможете ссылаться на ваш секрет в файле параметров, как это.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
    "adminPassword": {
        "reference": {
        "keyVault": {
        "id": "/subscriptions//resourceGroups//providers/Microsoft.KeyVault/vaults/"
        },
        "secretName": "ExamplePassword"
        }
    },
    }
}

В этом образце мы бы прошли секрет Secretname содержатся в keyvault Отказ Чтобы узнать, как создать keyvault, см. Используйте Vault Key Azure, чтобы пройти безопасное значение параметра во время развертывания

Ссылка:

Демистифицирующие шаблоны руки (12 части серии)

Оригинал: «https://dev.to/azure/demystifying-arm-templates-parameters-55h4»