Начало работы с Azure CLI

Если у вас есть учетная запись Microsft Azure и вы все еще управляете ресурсами только через портал Azure, вы что-то упускаете. Один из лучших способов сократить количество кликов и повысить продуктивность – использовать Azure CLI.

Azure CLI – это набор кроссплатформенных инструментов, написанных на Python, который позволяет управлять практически всеми ресурсами Azure из командной строки. Независимо от операционной системы, на которой вы находитесь, Azure CLI обеспечивает единое использование на всех платформах.

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

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

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

  • Azure CLI – в этом руководстве будет использоваться версия 2.20.0 в контейнере Docker, но команды будут работать одинаково на других платформах.
  • Учетная запись Azure Cloud – это руководство можно выполнить, используя бесплатную учетную запись.
  • Разрешения на создание ресурсов в Azure через учетную запись Microsoft, возможно, с использованием служебного принципала.

Получение помощи с az help

Перед тем, как запускать любую команду в Azure CLI, изучите, как использовать команду az help. В Azure CLI есть обширная справка. Этот учебник не может охватить все команды, поэтому изучение использования az help критично.

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

Навигация по типичному примеру справки

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

С открытым терминалом:

1. Выполните команду az help. Эта команда возвращает два типа вывода: группы и подгруппы.

Команды организованы в виде групп. Вы обычно видите учебники (и даже документацию), которые относятся к группам как к “командам”. Группы разбиты иерархически, и каждая группа представляет собой службу Azure.

output of az help

2. Прокрутите вниз, пока не найдете подгруппу с именем group. Из описания ниже видно, что эта подгруппа отвечает за управление группами ресурсов. Группы упорядочены по алфавиту.

scrolling down to find group

3. Как только вы найдете нужную команду, выполните ее с использованием параметра --help. Использование параметра --help не вносит никаких изменений; он возвращает всю справочную документацию для группы или команды.

az group --help

Ниже вы можете увидеть группу group и одну подгруппу (lock) с различными командами внутри.

output of az group help

4. Поскольку вы хотите создать группу ресурсов, команда create кажется правильной. Теперь продолжайте уточнять, добавляя более детальную команду к исходной ссылке az group и находя помощь.

az group create --help

Указывайте параметр --help для любой команды, чтобы увидеть справочную документацию.

Параметр --help теперь отображает информацию о команде create. Команды имеют аргументы, как показано ниже. В этом примере у вас теперь есть аргументы, необходимые для указания группы ресурсов и обязательного параметра location.

help parameter

Поиск примеров синтаксиса с помощью az find

Если вы не можете легко найти группу или команду, которую ищете с помощью параметра --help, воспользуйтесь командой az find. Эта команда ищет примеры синтаксиса с использованием ссылок на группу/команду, как показано ниже.

Например, вместо того чтобы перемещаться по системе справки с помощью --help, как показано выше, выполните ту же задачу с помощью одной строки с az find.

az find "az group create"
output of find command

Назначение конфигурации по умолчанию с помощью az configure

Azure CLI имеет множество команд и функций. Каждая из этих функций имеет различные конфигурации, на которые они ссылаются, такие как предпочтения ведения журнала и сбор данных. Одной из первых задач, которую вы должны выполнить при настройке Azure CLI в первый раз, является выполнение команды az configure.

В одной команде команда az configure проведет вас через три различные настройки:

  • Формат вывода – Семь различных способов, которыми Azure CLI возвращает вывод
  • Ведение журнала – Возможность вести журнал всех действий Azure CLI в файл
  • Телеметрия – Включение или отключение отправки информации Microsoft о том, как вы используете Azure CLI

Для начала, предполагая, что у вас уже установлен Azure CLI:

1. Откройте терминал (Bash или PowerShell).

2. Введите команду az configure. Вас пригласят пройти простое меню, в котором будет указано, что все настройки будут сохранены в файле .azure/config. Нажмите Y, чтобы продолжить.

output from azconfigure

3. Команда сначала запросит желаемый формат вывода по умолчанию. Здесь выберите нужный формат. Формат вывода по умолчанию устанавливает, как будет отображаться вывод на экране после выполнения команды или получения сообщения об ошибке.

If you’re unsure, below you’ll find some examples.

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

JSON (Java Object Notation)

json output

JSONC (Java Object Notation с комментариями\расцветкой)

jsonc output

Таблица

table output

TSV (Значения, разделенные табуляцией)

tsv output

YAML (YAML Ain’t Markup Language)

yaml output

YAMLC (YAML с комментариями\расцветкой)

yamlc output

Нет – Azure CLI вернет только ошибки или предупреждения.

4. После установки формата вывода Azure CLI запросит вас включить ведение журнала. Здесь выберите Y, чтобы включить запись всех команд и вывода в файл.

Output Format

Выбор Y здесь создаст журнал, содержащий все команды и вывод, собранные при использовании CLI. Этот журнал находится в каталоге $HOME/.azure/logs в Linux и macOS, и %USERPROFILE%\.azure\logs в Windows.

Ниже вы можете увидеть пример того, как будет выглядеть журнал.

Log file contents after executing az login

5. Затем Azure CLI попросит вас отправить телеметрические данные в Microsoft. Выбор Y здесь отправит анонимную информацию в Microsoft о том, как вы используете Azure CLI.

Telemetry Data

Для получения дополнительной информации о данных, которые собирает Microsoft, обратитесь к сведениям о конфиденциальности от Microsoft о сборе анонимных данных из Azure CLI.

Наконец, az configure спросит установить значение времени жизни кэша объекта CLI. Вы должны оставить это значение по умолчанию – 10.

cli object cache setting

Изменяйте TTL объекта CLI только по указанию Microsoft при устранении проблемы с Azure CLI.

Установка значений параметров по умолчанию

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

Чтобы установить параметры по умолчанию, используйте параметр --defaults на az configure. Этот параметр позволяет определить параметр и его значение по умолчанию. Например, возможно, вам надоело вводить location и group для различных команд. Нет проблем. Установите несколько значений по умолчанию.

В следующем примере устанавливаются значения по умолчанию для региона (location) в westus2 и группы ресурсов (group) в MyResourceGroup. Теперь, когда вы запускаете любую команду Azure CLI, которая имеет параметр location или group, Azure CLI автоматически передает значения этим параметрам.

az configure --defaults location=westus2 group=MyResourceGroup

Если вы используете контейнеры, вы можете установить индивидуальные контейнеры для управления конкретными регионами, подписками или группами ресурсов, устанавливая значения по умолчанию в каждом экземпляре контейнера. Вы можете создать 4 контейнера в каждом контейнере, используя az configure, чтобы установить регион по умолчанию и группу ресурсов по умолчанию с использованием вышеуказанной команды.

Аутентификация через браузер

Теперь вы освоили основы использования Azure CLI, но вы еще ничего не создали на самом деле. Давайте теперь сделаем шаг к созданию некоторых ресурсов! Но сначала вам нужно войти в Azure с помощью команды az login.

Если у вас есть несколько подписок Azure, выполните команду az account list, чтобы найти все подписки. Когда вы найдете подписку, выполните az account set --subscription <subscription name>, чтобы установить подписку для использования в сеансе. Вы также можете использовать глобальный параметр subscription, чтобы явно указать подписку.

1. Откройте терминал и выполните команду az login. Эта команда откроет окно браузера, перенаправляя вас на страницу для ввода вашего имени пользователя и пароля.

az login in Powershell session

2. Введите учетные данные вашей учетной записи Azure или щелкните по существующей учетной записи пользователя, как показано ниже.

authenticate with Microsoft

3. Как только Azure аутентифицирует вашу учетную запись, закройте веб-браузер и вернитесь к вашему сеансу Azure CLI. Команда az login возвращает информацию о вашей подписке, чтобы подтвердить, что у вас теперь есть токен аутентификации.

Output from az login, once authenticated

Аутентификация с использованием кода устройства

Если у вас нет браузера на системе или вы хотите загрузить токен аутентификации на другом компьютере, используйте параметр --use-device-code. Этот параметр позволяет пользователю использовать код, предоставленный с другого устройства, для аутентификации.

Для аутентификации с использованием кода устройства откройте терминал и:

Запустите az login с параметром --use-device-code. Команда az login на этот раз не откроет браузер. Вместо этого она предоставит код для ввода на странице входа с устройства на другом компьютере.

az login --use-device-code
output of az-login —use-device-code

2. На другом компьютере перейдите по адресу https://microsoft.com/devicelogin, вставьте предоставленный код и нажмите Далее.

Enter code to authenticate

3. Теперь введите свои учетные данные для аутентификации в Azure и закройте браузер, если это не нужно.

choosing an account to authenticate with

Вернитесь в сеанс Azure CLI, команда az login вернет информацию о вашей подписке.

verification your session is logged on to azure

Опции вывода Azure CLI

Как упоминалось, Azure CLI может возвращать вывод разными способами. Вы можете определить формат вывода по умолчанию и изменить его на лету с помощью параметра output. Но параметр output не единственный, который изменяет поведение вывода.

Чтобы изменить подробность, фильтровать вывод или изменить поведение вывода ошибок, используйте следующие параметры.

  • query – Использует язык запросов JMESPath для фильтрации вывода для всех команд. Ссылка на эту статью, чтобы узнать больше.
  • verbose – Возвращает информацию о созданных ресурсах в Azure и расширенную информацию об этих ресурсах.
  • debug – Возвращает низкоуровневую информацию о операциях CLI, используемых для отладки.
  • only-show-errors – Показывает ошибки и подавляет предупреждения.

Создание группы ресурсов

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

Предположим, что вы находитесь на компьютере с установленным Azure CLI, и вы уже прошли аутентификацию в Azure с помощью CLI:

Создайте группу ресурсов с использованием команды az group create, как показано ниже. Эта команда создает resource-group с именем TESTGrp в регионе North Europe location и возвращает всю информацию с флагом verbose.

az group create --location northeurope --resource-group TESTGrp --verbose
output of az group create

2. Теперь подтвердите, что Azure создал ресурс. az group list

az group list

Обратите внимание, что вы создали группу ресурсов TESTGrp.

output of az group list

3. Возможно, у вас есть много групп ресурсов, через которые нужно просмотреть. Вместо прокрутки используйте параметр query, чтобы сузить список. Ниже приведена команда, которая возвращает только группы ресурсов в северной Европе с использованием JMESPath.

az group list --query "[?location=='northeurope']"
output of a JMESPath query

Создание виртуальной машины Linux

Для этого последнего примера узнайте, как создать Azure VM с помощью Azure CLI. Создание виртуальных машин и конфигурация вокруг них – это хорошее навык, который стоит освоить. Создание Azure VM – это обычная задача, которую вы можете выполнять повторно во время вашего облачного путешествия.

В этом упражнении вы создадите Azure Linux VM с настройками по умолчанию и развернете его в созданной ранее группе ресурсов.

Azure VM состоит из множества Azure-ресурсов, все работающие вместе, как образ диска, виртуальный сетевой адаптер, виртуальная машина и т. д.

Для создания Azure VM с помощью Azure CLI:

1. Выполните команду az vm image list, чтобы найти все доступные образы ВМ для ВМ. Эта команда возвращает все кэшированные/оффлайн образы. az vm image list

az vm image list

Для этой демонстрации выберите образ UbuntuLTS, как показано ниже.

Cached list of images available

Azure CLI поддерживает кэшированный список всех образов ВМ. Если образ UbuntuLTS не отображается, используйте параметр all, чтобы получить обновленный список.

2. Как только вы узнаете образ диска для использования в виртуальной машине, создайте виртуальную машину с помощью az vm create. Фрагмент кода ниже создает виртуальную машину name с именем ATAVM1, используя образ UbuntuLTS image в resource-group TESTGrp. При создании виртуальной машины Azure сгенерирует ключи SSH (generate-ssh-keys) для последующего подключения к ней и вернет вывод в формате JSON (output).

az vm create --resource-group TESTGrp \
   --name ATAVM1 \ ## имя хоста для виртуальной машины
   --image UbuntuLTS \ ## имя образа, полученное с помощью az vm image list
   --generate-ssh-keys \ ## Автоматически генерирует ключи SSH для использования с ВМ
   --output json \ ## переопределение для формата вывода в формате JSON
   --verbose ## дополнительный вывод

Разделите одну длинную команду Azure CLI на отдельные строки, используя завершающий обратный слеш.

Команда az vm create имеет множество способов настройки создания ВМ. Помните, что система справки – ваш друг! az vm create --help

Если команда была успешно запущена, вы должны увидеть что-то подобное скриншоту ниже.

VM being created

Используя параметр verbose, вы увидите фактический метод и параметры REST API, используемые в зеленом цвете.

3. Когда развертывание завершится, последний раздел вывода отобразит информацию о вашей виртуальной машине. Самое важное для этой демонстрации – скопируйте публичный IP-адрес. Вам понадобится это для подключения к виртуальной машине через Интернет.

output from vm creation

На данный момент подключитесь к виртуальной машине Ubuntu через SSH, используя общедоступный IP-адрес VM, указанный выше. Для этого откройте ваш любимый SSH-клиент и подключитесь к VM под пользователем azureuser, как показано ниже. По умолчанию команда az vm create создает локального пользователя с именем azureuser.

connected to the vm created

Вы смогли подключиться к VM по SSH без пароля, потому что использовали параметр generate-ssh-keys при создании VM. Это загружает закрытый ключ в ваш каталог ~/.ssh и загружает открытый ключ на VM, что позволяет вам аутентифицироваться.

5. Теперь выполните очистку VM и группы ресурсов.

az group delete --name TestGRP

Следующие шаги

Теперь у вас должен быть готов к использованию Azure CLI. Теперь вы готовы управлять ресурсами! Что дальше?

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