Программное обеспечение для размещения контейнера Docker используется в архитектуре ArcGIS Notebook Server.
ПО Docker
ArcGIS Notebook Server использует программное обеспечение для размещения контейнера Docker, чтобы обеспечить безопасность и изолировать ресурсы для авторов блокнотов. Контейнеры - это виртуализированные операционные системы, отличающиеся от виртуальных машин. Каждый расположенный на компьютере контейнер содержит все компоненты ОС в изолированной среде. ArcGIS Notebook Server предоставляет отдельный контейнер для каждого пользователя сайта. Каждому пользователю принадлежит один контейнер для каждой среды выполнения, и пользователи могут запускать блокноты только в своем собственном контейнере.
Docker – это отдельный программный продукт стороннего разработчика, который должен быть установлен на каждом компьютере ArcGIS Notebook Server перед использованием ArcGIS Notebook Server.
Образы контейнеров Docker
Когда вы загружаете программное обеспечение и файлы авторизации из My Esri до установки, вы также получаете два образа контейнера Docker, относящиеся к ArcGIS Notebooks. Эти образы контейнеров обеспечивают необходимую среду выполнения — определенный набор модулей Python для пользователей блокнотов.
Esri предлагает два образа контейнера Docker: Standard и Advanced. Эти два образа контейнера содержат системные инструменты и библиотеки, а также различные настройки для соответствующего конфигурирования контейнера. Они также содержат среду выполнения блокнота: образ контейнера Standard содержит среду выполнения блокнота Standard, а образ контейнера Advanced - среду выполнения Advanced.
Среда выполнения Standard включает использование в ArcGIS Notebooks кода из ArcGIS API for Python и сторонних модулей. Среда выполнения Advanced содержит все модули образа Standard, а также ArcPy и связанные с ним библиотеки.
Если у вас лицензия Advanced, необходимо загрузить и установить оба образа контейнеров с My Esri. Модули Python, которые входят в образы Standard и Advanced, перечислены в разделе Посмотреть доступные библиотеки Python.
Для создания блокнотов в среде Advanced пользователю должна быть назначена на портале роль, содержащая право доступа Advanced Notebooks. При первом открытии блокнота будет запущен контейнер с примененным к нему образом контейнера Advanced.
Авторы блокнотов с правами доступа Advanced Notebooks могут также задавать использование блокнотом рабочей среды Advanced. Это позволит им делиться созданными блокнотами с пользователями, у которых есть доступ только к среде Standard. Когда они в первый раз выполнят эти действия, для них будет запущен второй контейнер, в который будет загружен образ контейнера Standard.
Более подробно об правах доступа пользователей блокнотов
По умолчанию, контейнеру выделяется некоторое количество ОЗУ и ядер процессора. Эти ресурсные ограничения по умолчанию определяются рабочей средой, запускаемой контейнером:
- Для среды Standard выделяется 1 ядро процессора и 4 ГБ ОЗУ на контейнер.
- Для среды Advanced выделяется 2 ядра процессора и 6 ГБ ОЗУ на контейнер.
Как администратор ArcGIS Notebook Server, вы можете наблюдать за авторами блокнотов, работающими на сайте, и за используемыми ими средами. В зависимости от этих данных, вам может потребоваться изменить ресурсные ограничения для ArcGIS Notebook Server.
Версии Docker
Для пользователей Windows подходит версия Docker Desktop. Это программное обеспечение позволит вам запустить ArcGIS Notebook Server.
Убедитесь, что вы установили минимально необходимую версию Docker Desktop на каждый ArcGIS Notebook Server. Подробнее об установке и настройке Docker см. раздел Установка Docker для ArcGIS Notebook Server.
Примечание:
ArcGIS Notebook Server будет работать только с одной из версий Docker, установленных на компьютере. Вы не можете смешивать выпуски на многомашинном сайте.
Среды выполнения блокнотов и образы контейнеров
Когда контейнер запускается впервые, он в основном пустой. Системные библиотеки, инструменты и настройки, необходимые для функционирования контейнера, содержатся в файле образа контейнера. Образ контейнера применяется к нему в процессе запуска.
Подсказка:
Если вы когда-либо развертывали облачное ПО, вы уже знаете, что такое образ компьютера, который представляет собой пустую виртуальную машину с кодами, инструментами и настройками, необходимыми для функционирования. Образы контейнера функционируют так же, как пустые виртуальные операционные системы контейнера.
Esri предлагает два образа контейнера для ArcGIS Notebook Server. В каждый образ контейнера включена среда выполнения блокнота, которая делает ресурсы Python доступными в ArcGIS Notebooks. Каждая среда выполнения упаковывает список этих библиотек и зависимостей, включая определенную версию каждой библиотеки Python.
Две среды выполнения ArcGIS Notebook Server, Standard (включает ArcGIS API for Python и другие модули Python) и Advanced (также включает ArcPy), доступны в блокнотах как часть соответствующих образов контейнера.
Библиотеки, доступные в каждой среде выполнения
В зависимости от уровня лицензии вы получите либо образ контейнера Standard, либо оба образа контейнера, Standard и Advanced.
На компьютерах Windows контейнеры на сайте ArcGIS Notebook Server с контейнерами Linux управляются в эмуляторе Linux под названием MobyLinuxVM, который находится в среде Hyper-V. Соответственно роль Hyper-V должна быть установлена на этом компьютере. Это требование включено в системные требования ArcGIS Notebook Server.
Если контейнер запущен, к нему применяется один из двух образов контейнера, который вы получили от Esri. Среда выполнения и образ зависит от прав доступа автора блокнота на портале:
- Авторы, имеющие права только на создание и редактирование блокнотов, могут использовать только образ контейнера Standard. Все блокноты, которые они открывают, будут использовать среду выполнения Standard.
- Авторы, у которых также есть права Advanced Notebooks будут иметь возможность применить к своим контейнерам образ Advanced. По умолчанию средой выполнения их блокнотов будет среда выполнения Advanced. Но у них есть возможность задать отдельную среду выполнения для индивидуального блокнота и использовать среду Standard или Advanced для своих блокнотов.
Требования и ограничения для Windows
Если вы разворачиваете ArcGIS Notebook Server на компьютерах с ОС Windows, нужно помнить о ряде требований и ограничений. Они не возникают при разворачивании ArcGIS Notebook Server на компьютерах с ОС Linux.
Предварительные условия Docker Desktop
Перед использованием Docker Desktop необходимо выполнить следующие действия:
- Рекомендуется использовать машины Windows Server 2019 года в производственной среде ArcGIS Notebook Server. Машины Windows 10 поддерживаются только для сред разработки.
- При развертывании ArcGIS Notebook Server на Windows Server 2019 вы можете использовать Docker Desktop. Минимальную необходимую версию см. в разделе Версии Docker. Обратите внимание, что в документации к Docker текущей версии в системных требованиях не упоминается ОС Windows Server 2019.
- ArcGIS Notebook Server использует контейнеры Linux в своем компоненте Docker. На компьютерах Windows Server 2019 контейнеры на сайте ArcGIS Notebook Server управляются в эмуляторе Linux под названием MobyLinuxVM, который находится в среде Hyper-V.
- Для ArcGIS Notebook Server необходимо, чтобы роль Hyper-V уже была установлена в Windows Server и Windows 10.
- Определенные среды виртуализации не позволяют включение и работу Hyper-V в Windows. В итоге ArcGIS Notebook Server невозможно установить в этих средах и работать с ним.
- Сервис Docker Desktop перестанет работать, когда пользователь, устанавливающий Docker, выйдет с компьютера ArcGIS Notebook Server, на котором установлен Docker. Этот компьютер ArcGIS Notebook Server может быть заблокирован, но для успешного запуска Docker пользователь должен войти в систему. Если пользователь не вошел в систему, открытие блокнота завершится ошибкой с сообщением Не удалось загрузить блокнот.
Примечание:
Существуют альтернативные решения для автоматического запуска Docker Desktop при перезагрузке компьютера ArcGIS Notebook Server, вместо входа пользователя в систему.
- ArcGIS Notebook Server поддерживает сайты на нескольких компьютерах. В системах Windows Docker не поддерживает монтирование общих дисков в контейнеры, поэтому директория рабочей области должна быть локальной на каждом компьютере. Поскольку пользователи могут запускать контейнеры и открывать блокноты на каждой машине сайта с несколькими компьютерами, необходимо, чтобы ресурсы в директории рабочей области были синхронизированы между машинами. Шаги по настройке одного из способов репликации описаны в разделе Настройка репликации DFS для ArcGIS Notebook Server.