Поделиться через


создадите вычислительный экземпляр Машинного обучения Azure;

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

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

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

Из этой статьи вы узнаете, как создать вычислительный экземпляр. Инструкции по управлению запуском, остановкой, перезапуском, удалением вычислительного экземпляра см. в статье "Управление вычислительным экземпляром Машинное обучение Azure".

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

Вычислительные экземпляры безопасно запускают задания в среде виртуальной сети, что не требует от предприятий открывать порт SSH. Задание выполняется в контейнерной среде и упаковывает зависимости модели в контейнер Docker.

Примечание.

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

Необходимые компоненты

  • Рабочая область Машинного обучения Azure. Дополнительные сведения см. в разделе Создание рабочей области Машинного обучения Azure. В учетной записи хранения параметр "Разрешить доступ к ключу учетной записи хранения" должен быть включен для успешного создания вычислительного экземпляра.

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

Запустите этот код, чтобы подключиться к рабочей области Машинное обучение Azure.

Замените идентификатор подписки, имя группы ресурсов и имя рабочей области в следующем коде. Вот как найти эти значения:

  1. Войдите в Студию машинного обучения Azure.
  2. Откройте рабочую область, которую вы хотите использовать.
  3. Выберите имя рабочей области в правом верхнем углу панели инструментов Студия машинного обучения Azure.
  4. Скопируйте значение рабочей области, группы ресурсов и идентификатор подписки в код.

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

# Enter details of your AML workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AML_WORKSPACE_NAME>"
# get a handle to the workspace
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id, resource_group, workspace
)

ml_client — это обработчик рабочей области, которая используется для управления другими ресурсами и заданиями.

Создание

Примерное время: приблизительно 5 минут.

Создание вычислительного экземпляра — это однократный процесс для вашей рабочей области. Можно повторно использовать вычисления как рабочую станцию разработки или как целевой объект вычислений для обучения. К рабочей области можно присоединить несколько вычислительных экземпляров.

Квота выделенных ядер на регион на семейство ВМ и суммарная региональная квота, применяемая при создании вычислительного экземпляра, объединяется и используется совместно с квотой вычислительных кластеров Машинного обучения Azure. Остановка вычислительного экземпляра не освобождает квоту, чтобы убедиться, что вы сможете перезапустить вычислительный экземпляр. Квота — это кредитный лимит ресурсов Azure, а не гарантия емкости, перезапуск вычислительного экземпляра по-прежнему зависит от доступной емкости региона. Если в регионе для SKU есть хруст емкости, возможно, вы не сможете перезапустить вычислительный экземпляр. После создания вычислительного экземпляра размер его виртуальной машины невозможно изменить.

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

Или используйте следующие примеры для создания вычислительного экземпляра с дополнительными параметрами:

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

# Compute Instances need to have a unique name across the region.
# Here we create a unique name with current datetime
from azure.ai.ml.entities import ComputeInstance, AmlCompute
import datetime

ci_basic_name = "basic-ci" + datetime.datetime.now().strftime("%Y%m%d%H%M")
ci_basic = ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2")
ml_client.begin_create_or_update(ci_basic).result()

Дополнительные сведения о классах, методах и параметрах для создания вычислительного экземпляра см. в следующих справочных документах:

Вы также можете создать вычислительный экземпляр с помощью шаблона Azure Resource Manager.

Настройка завершения работы в режиме простоя

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

Вычислительный экземпляр считается неактивным, если выполняются следующие условия:

  • Нет активных сеансов ядра Jupyter (то есть не работает ни одна записная книжка на основе Jupyter, JupyterLab или интерактивных записных книжек)
  • Нет активных сеансов терминала Jupyter
  • Нет активных запусков или экспериментов в службе Машинное обучение Azure
  • Нет подключений VS Code (то есть необходимо закрыть подключение VS Code, чтобы вычислительный экземпляр считался неактивным). (сеансы завершаются автоматически, если VS Code не обнаруживает никаких действий в течение 3 часов);
  • в вычислительном экземпляре не запущено никаких пользовательских приложений.

Вычислительный экземпляр не будет считаться в режиме простоя, если запущено хоть одно пользовательское приложение. Чтобы завершить работу вычислений с пользовательским приложением автоматически, необходимо настроить расписание или удалить пользовательское приложение. Существуют также некоторые ограничения, связанные с периодом неактивности вычислительного экземпляра, который вы можете настроить: от 15 минут до 3 дней. Мы также не отслеживаем подключения SSH VS Code для определения действия.

Кроме того, если вычислительный экземпляр уже бездействует в течение определенного периода времени, а параметры завершения работы в режиме простоя обновляются до меньших значений времени, чем текущая длительность простоя, время простоя сбрасывается до 0. Например, если вычислительный экземпляр уже простаивает в течение 20 минут, а параметры завершения работы обновляются до значения в 15 минут, время простоя будет сброшено до 0.

Внимание

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

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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

При создании нового вычислительного экземпляра idle_time_before_shutdown_minutes добавьте параметр.

# Note that idle_time_before_shutdown has been deprecated.
ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2", idle_time_before_shutdown_minutes="30")

Невозможно изменить время простоя существующего вычислительного экземпляра с помощью пакета SDK для Python.

Можно также изменить время простоя с помощью:

  • REST API

    Конечная точка:

    POST https://management.azure.com/subscriptions/{SUB_ID}/resourceGroups/{RG_NAME}/providers/Microsoft.MachineLearningServices/workspaces/{WS_NAME}/computes/{CI_NAME}/updateIdleShutdownSetting?api-version=2021-07-01
    

    Текст:

    {
        "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format
    }
    
  • Шаблоны ARM: настраивается только во время создания нового вычислительного экземпляра

    // Note that this is just a snippet for the idle shutdown property in an ARM template
    {
        "idleTimeBeforeShutdown":"PT30M" // this must be a string in ISO 8601 format
    }
    

Планирование автоматического запуска и остановки

Определите несколько расписаний для автозапуска и автозапуска. Например, создайте расписание, которое будет запускать экземпляр в 9 часов утра и останавливать в 6 часов вечера с понедельника по четверг, и отдельное расписание, которое будет запускать экземпляр в 9 часов утра и останавливать в 4 часа вечера в пятницу. Можно создавать по четыре расписания для каждого вычислительного экземпляра.

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

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

Создание графика

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

from azure.ai.ml.entities import ComputeInstance, ComputeSchedules, ComputeStartStopSchedule, RecurrenceTrigger, RecurrencePattern
from azure.ai.ml.constants import TimeZone
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

ci_minimal_name = "ci-name"
ci_start_time = "2023-06-21T11:47:00" #specify your start time in the format yyyy-mm-ddThh:mm:ss

rec_trigger = RecurrenceTrigger(start_time=ci_start_time, time_zone=TimeZone.INDIA_STANDARD_TIME, frequency="week", interval=1, schedule=RecurrencePattern(week_days=["Friday"], hours=15, minutes=[30]))
myschedule = ComputeStartStopSchedule(trigger=rec_trigger, action="start")
com_sch = ComputeSchedules(compute_start_stop=[myschedule])

my_compute = ComputeInstance(name=ci_minimal_name, schedules=com_sch)
ml_client.compute.begin_create_or_update(my_compute)

Создание расписания с помощью шаблона Resource Manager

Вы можете запланировать автоматический запуск и остановку вычислительного экземпляра с помощью шаблона Resource Manager.

В шаблоне Resource Manager добавьте:

"schedules": "[parameters('schedules')]"

Затем используйте выражения cron или LogicApps, чтобы определить расписание, которое запускает или останавливает экземпляр в вашем файле параметров:

  "schedules": {
    "value": {
      "computeStartStop": [
        {
          "triggerType": "Cron",
          "cron": {
            "timeZone": "UTC",
            "expression": "0 18 * * *"
          },
          "action": "Stop",
          "status": "Enabled"
        },
        {
          "triggerType": "Cron",
          "cron": {
            "timeZone": "UTC",
            "expression": "0 8 * * *"
          },
          "action": "Start",
          "status": "Enabled"
        },
        {
          "triggerType": "Recurrence",
          "recurrence": {
            "frequency": "Day",
            "interval": 1,
            "timeZone": "UTC",
            "schedule": {
              "hours": [17],
              "minutes": [0]
            }
          },
          "action": "Stop",
          "status": "Enabled"
        }
      ]
    }
  }
  • Действие может иметь значение Start или Stop.

  • Для триггеров типа Recurrence используется синтаксис приложений логики с данной схемой повторений.

  • Для триггеров типа cron используется стандартный синтаксис cron:

    // Crontab expression format: 
    // 
    // * * * * * 
    // - - - - - 
    // | | | | | 
    // | | | | +----- day of week (0 - 6) (Sunday=0) 
    // | | | +------- month (1 - 12) 
    // | | +--------- day of month (1 - 31) 
    // | +----------- hour (0 - 23) 
    // +------------- min (0 - 59) 
    // 
    // Star (*) in the value field above means all legal values as in 
    // braces for that column. The value column can have a * or a list 
    // of elements separated by commas. An element is either a number in 
    // the ranges shown above or two numbers in the range separated by a 
    // hyphen (meaning an inclusive range). 
    

Политика Azure поддерживает расписание по умолчанию

Используйте политику Azure, чтобы обеспечить наличие расписания выключения для каждого вычислительного экземпляра в подписке или по умолчанию для расписания, если ничего не существует. Ниже приведен пример политики по умолчанию для расписания завершения работы в 22:00 PST.

{
    "mode": "All",
    "policyRule": {
     "if": {
      "allOf": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
        "equals": "ComputeInstance"
       },
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "exists": "false"
       }
      ]
     },
     "then": {
      "effect": "append",
      "details": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "value": {
         "computeStartStop": [
          {
           "triggerType": "Cron",
           "cron": {
            "startTime": "2021-03-10T21:21:07",
            "timeZone": "Pacific Standard Time",
            "expression": "0 22 * * *"
           },
           "action": "Stop",
           "status": "Enabled"
          }
         ]
        }
       }
      ]
     }
    }
}

Создание от имени

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

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

Назначен пользователю, которому необходимо самостоятельно включить единый вход на вычислительном экземпляре после того, как ему будет назначен вычислительный экземпляр, обновив настройку единого входа на вычислительном экземпляре. Назначен пользователю, которому необходимо иметь следующее разрешение/действие в своей роли MachineLearningServices/workspaces/computes/enableSso/action. Назначен пользователю, которому не требуются разрешения на запись вычислений (создание) для включения единого входа.

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

  1. Щелкните «Вычисления» на левой навигационной панели в Студии машинного обучения Azure.

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

  3. Отредактируйте раздел «Сведения о едином входе».

    Снимок экрана: единый вход можно обновить на странице сведений о вычислительном экземпляре пользователем.

  4. Включите переключатель единого входа.

  5. Сохранить. Обновление займет некоторое время.

Назначение управляемого удостоверения

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

Внимание

Если вычислительный экземпляр также настроен для завершения работы бездействия, вычислительный экземпляр не завершит работу из-за неактивности, если управляемое удостоверение не имеет доступа участника к рабочей области Машинное обучение Azure. Дополнительные сведения о назначении разрешений см. в статье Управление рабочей областью машинного обучения Azure.

Используйте пакет SDK версии 2 для создания вычислительного экземпляра с назначением управляемого удостоверения, назначаемого системой:

from azure.ai.ml import MLClient
from azure.identity import ManagedIdentityCredential
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
credential = ManagedIdentityCredential(client_id=client_id)
ml_client = MLClient(credential, subscription_id, resource_group, workspace)

Вы также можете использовать пакет SDK версии 1:

from azureml.core.authentication import MsiAuthentication
from azureml.core import Workspace
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
auth = MsiAuthentication(identity_config={"client_id": client_id})
workspace = Workspace.get("chrjia-eastus", auth=auth, subscription_id=subscription_id, resource_group=resource_group, location="East US")

После создания управляемого удостоверения предоставьте управляемому удостоверению по крайней мере роль чтения blOB-объектов хранилища в учетной записи хранения хранилища хранилища, см . статью "Доступ к службам хранилища". Затем при работе с вычислительным экземпляром управляемое удостоверение используется автоматически для проверки подлинности в хранилищах данных.

Примечание.

Имя созданного управляемого удостоверения системы будет иметь формат /workspace-name/computes/compute-instance-name в идентификаторе Microsoft Entra.

Вы также можете использовать управляемое удостоверение вручную для проверки подлинности в других ресурсах Azure. В следующем примере показано, как использовать его для получения маркера доступа Azure Resource Manager:

import requests

def get_access_token_msi(resource):
    client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
    resp = requests.get(f"{os.environ['MSI_ENDPOINT']}?resource={resource}&clientid={client_id}&api-version=2017-09-01", headers={'Secret': os.environ["MSI_SECRET"]})
    resp.raise_for_status()
    return resp.json()["access_token"]

arm_access_token = get_access_token_msi("https://management.azure.com")

Чтобы использовать Azure CLI с управляемым удостоверением для проверки подлинности, укажите идентификатор клиента удостоверений в качестве имени пользователя при входе в систему:

az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID

Примечание.

Нельзя использовать azcopy при попытке использовать управляемое удостоверение. azcopy login --identity не будет работать.

Включение доступа по протоколу SSH

По умолчанию доступ по протоколу SSH отключен. Доступ по протоколу SSH не может быть включен или отключен после создания. Обязательно включите доступ, если планируется интерактивная отладка с помощью VS Code Remote.

После выбора Далее: Расширенные параметры сделайте следующее:

  1. Включите параметр Включить доступ по SSH.
  2. В источнике открытого ключа SSH выберите один из вариантов в раскрывающемся списке:
    • Если создать новую пару ключей:
      1. Введите имя ключа в поле Имя пары ключей.
      2. Нажмите кнопку создания.
      3. Выберите Скачать закрытый ключ и создать вычисление. Ключ обычно скачивается в папку Загрузки.
    • Если вы выбрали Использовать существующий открытый ключ, хранимый в Azure, найдите и выберите ключ в разделе Хранимый ключ.
    • Если выбран параметр Использовать существующий открытый ключ, укажите открытый ключ RSA в формате одной строки (начинается с "ssh-rsa") или в формате PEM с несколькими строками. Ключи SSH можно создать с помощью ssh-keygen (в Linux и OS X) или PuTTYGen (в Windows).

Настройка ключа SSH позже

Хотя SSH не удается включить или отключить после создания, можно настроить ключ SSH позже в вычислительном экземпляре с поддержкой SSH. Это позволяет настроить ключ SSH после создания. Для этого выберите для включения SSH в вычислительном экземпляре и выберите пункт "Настройка ключа SSH позже" в качестве источника открытого ключа SSH. После создания вычислительного экземпляра можно посетить страницу сведений о вычислительном экземпляре и выбрать для изменения ключей SSH. После этого вы можете добавить ключ SSH.

Пример распространенных вариантов использования заключается в создании вычислительного экземпляра от имени другого пользователя (см. статью "Создание от имени") При подготовке вычислительного экземпляра от имени другого пользователя можно включить SSH для нового владельца вычислительного экземпляра, нажав кнопку "Настроить ключ SSH" позже. Это позволяет новому владельцу вычислительного экземпляра настроить ключ SSH для нового экземпляра вычислений после его создания и назначения им после выполнения предыдущих шагов.

Подключение по SSH

Создав вычислительный ресурс с поддержкой доступа по протоколу SSH, выполните указанные ниже действия для доступа к нему.

  1. Найдите вычислительный ресурс среди ресурсов рабочей области.

    1. Слева выберите Вычисление.
    2. Выберите на верхних вкладках Compute instance (Вычислительный экземпляр) или Compute cluster (Вычислительный кластер), чтобы найти свой компьютер.
  2. Выберите имя вычислительного ресурса в списке ресурсов.

  3. Найдите строку подключения.

    • Если выбран вариант Compute instance (Вычислительный экземпляр), выберите Connect (Подключить) в верхней части раздела Details (Сведения).

      Снимок экрана: средство подключения в верхней части страницы сведений.

    • Если же выбран вариант Compute cluster (Вычислительный кластер), выберите вверху Nodes (Узлы), а затем выберите в таблице для своего узла Connection string (Строка подключения). Снимок экрана: строка подключения для узла в вычислительном кластере.

  4. Скопируйте строку подключения.

  5. Откройте окно командной строки или PowerShell в Windows.

    1. Откройте каталог или папку, где хранится ваш ключ.

    2. Добавьте флаг -i в строку подключения, чтобы выполнить поиск закрытого ключа и указать место его хранения.

      ssh -i <keyname.pem> azureuser@... (rest of connection string)

  6. Пользователям Linux рекомендуется выполнить действия, описанные в статье Создание и использование пары ключей SSH для виртуальных машин Linux в Azure.

  7. Для использования SCP:

    scp -i key.pem -P {port} {fileToCopyFromLocal } azureuser@yourComputeInstancePublicIP:~/{destination}

  • REST API

Для анализа данных, для которых создается вычислительный экземпляр, должны быть предоставлены следующие разрешения на Управление доступом на основе ролей (Azure RBAC):

  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

Специалист по анализу данных может запускать, останавливать и перезапускать вычислительный экземпляр. Он может использовать вычислительный экземпляр для следующих ресурсов:

  • Jupyter
  • JupyterLab
  • RStudio
  • Posit Workbench (ранее RStudio Workbench)
  • Интегрированные записные книжки

Добавление пользовательских приложений, таких как RStudio или Posit Workbench

Вы можете настроить другие приложения, такие как RStudio или Posit Workbench (ранее RStudio Workbench), при создании вычислительного экземпляра. Выполните следующие действия в Студии, чтобы настроить пользовательское приложение в вычислительном экземпляре.

  1. Заполните форму, чтобы создать новый вычислительный экземпляр.
  2. Выбор приложений
  3. Выберите " Добавить приложение"

Снимок экрана: настройка пользовательской службы.

Настройка Posit Workbench (ранее RStudio Workbench)

RStudio является одной из самых популярных интегрированных сред разработки для разработчиков на языке R и проектов машинного обучения, обработки и анализа данных. Вы можете легко настроить Posit Workbench, который предоставляет доступ к RStudio вместе с другими средствами разработки для запуска в вычислительном экземпляре, используя собственную лицензию Posit, и получить доступ к богатому набору функций, который предлагает Posit Workbench.

  1. Выполните описанные выше действия, чтобы Добавить приложение при создании вычислительного экземпляра.
  2. Выберите Posit Workbench (принести собственную лицензию) в раскрывающемся списке приложения и введите ключ лицензии Posit Workbench в поле "Ключ лицензии". Вы можете получить лицензию Posit Workbench или пробную лицензию из posit.
  3. Выберите "Создать", чтобы добавить приложение Posit Workbench в вычислительный экземпляр.

Снимок экрана: параметры Posit Workbench.

Внимание

Если используется рабочая область приватного канала, убедитесь, что образ Docker доступен pkg-containers.githubusercontent.com и ghcr.io. Кроме того, используйте опубликованный порт в диапазоне 8704–8993. Для Posit Workbench (ранее RStudio Workbench) убедитесь, что лицензия доступна путем предоставления сетевого доступа https://www.wyday.com.

Примечание.

  • Поддержка доступа к хранилищу файлов рабочей области из Posit Workbench пока недоступна.
  • При доступе к нескольким экземплярам Posit Workbench, если отображается "400 недопустимый запрос. Request Header Or Cookie Too Large" (400 Недопустимый запрос. Слишком большой заголовок запроса или файл cookie), используйте другой браузер или попробуйте получить доступ из браузера в режиме "Инкогнито".

Настройка RStudio (открытый код)

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

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

  2. Выберите настраиваемое приложение в раскрывающемся списке приложений .

  3. Укажите желаемое Имя приложения.

  4. Настройка приложения для запуска на целевом порту 8787 — образ docker для RStudio открытый код, перечисленных ниже, должен выполняться на этом целевом порту.

  5. Настройте приложение для доступа к опубликованному порту 8787 . При желании вы можете настроить доступ к приложению на другом опубликованном порту.

  6. Укажите ссылку ghcr.io/azure/rocker-rstudio-ml-verse:latest для образа Docker.

  7. Выберите Создать, чтобы использовать RStudio в качестве пользовательского приложения в вычислительном экземпляре.

Снимок экрана: форма для настройки RStudio в качестве пользовательского приложения

Внимание

Если используется рабочая область приватного канала, убедитесь, что образ Docker доступен pkg-containers.githubusercontent.com и ghcr.io. Кроме того, используйте опубликованный порт в диапазоне 8704–8993. Для Posit Workbench (ранее RStudio Workbench) убедитесь, что лицензия доступна путем предоставления сетевого доступа https://www.wyday.com.

Настройка других пользовательских приложений

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

  1. Выполните предыдущие действия, чтобы добавить приложение при создании вычислительного экземпляра.
  2. Выберите Пользовательское приложение в раскрывающемся списке Приложение.
  3. Укажите Имя приложения, Целевой порт, на котором вы хотите запустить приложение, Опубликованный порт, с помощью которого вы хотите обращаться к приложению, и Образ Docker, содержащий приложение. Если пользовательский образ хранится в Реестр контейнеров Azure, назначьте роль участника для пользователей приложения. Сведения о назначении ролей см. в статье "Управление доступом к рабочей области Машинное обучение Azure".
  4. При желании добавьте Переменные среды, которые вы хотите использовать для приложения.
  5. Используйте подключения Bind для добавления доступа к файлам в учетной записи хранения по умолчанию:
    • Укажите /home/azureuser/cloudfiles в качестве пути к узлу.
    • Укажите /home/azureuser/cloudfiles в качестве пути к контейнеру.
    • Нажмите кнопку Добавить, чтобы добавить это подключение. Так как файлы подключены, изменения, внесенные в них, доступны в других вычислительных экземплярах и приложениях.
  6. Выберите Создать, чтобы настроить пользовательское приложение в вычислительном экземпляре.

Снимок экрана: параметры пользовательского приложения.

Внимание

Если используется рабочая область приватного канала, убедитесь, что образ Docker доступен pkg-containers.githubusercontent.com и ghcr.io. Кроме того, используйте опубликованный порт в диапазоне 8704–8993. Для Posit Workbench (ранее RStudio Workbench) убедитесь, что лицензия доступна путем предоставления сетевого доступа https://www.wyday.com.

Доступ к пользовательским приложениям в Студии

Чтобы обратиться к пользовательским приложениям, настроенным в Студии, выполните следующие действия:

  1. Слева выберите Вычисление.
  2. На вкладке Вычислительный экземпляр просмотрите приложения в столбце Приложения.

Снимок экрана: доступ в Студии для ваших пользовательских приложений.

Примечание.

После настройки настраиваемого приложения может потребоваться несколько минут, пока вы не сможете получить доступ к нему по ссылкам. Количество времени будет зависеть от размера образа, используемого для пользовательского приложения. Если при попытке получить доступ к приложению отображается сообщение об ошибке 502, подождите некоторое время, пока приложение будет настроено, и повторите попытку. Если пользовательский образ извлекается из Реестр контейнеров Azure, вам потребуется роль участника для рабочей области. Сведения о назначении ролей см. в статье "Управление доступом к рабочей области Машинное обучение Azure".