Программное обеспечение для размещения контейнера 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
Docker доступен в двух вариантах. Docker и Mirantis Container Runtime (ранее назывались Docker Engine-Enterprise). Обе версии содержат полный функционал.
Примечание:
Дополнительные сведения о версии Docker и ценах, см. в разделе Часто задаваемые вопросы Docker.
ArcGIS Notebook Server поддерживает две ОС семейства Linux: Ubuntu и Red Hat Enterprise Linux. Если ваша машина работает на Red Hat Enterprise Linux, нужно установить Mirantis Container Runtime. При использовании Ubuntu с ArcGIS Notebook Server будет работать любая версия Docker.
Убедитесь, что вы установили Docker или Mirantis Container Runtime 20.10.0 или более позднюю версию, на каждом компьютере 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.
Если контейнер запущен, к нему применяется один из двух образов контейнера, который вы получили от Esri. Среда выполнения и образ зависит от прав доступа автора блокнота на портале:
- Авторы, имеющие права только на создание и редактирование блокнотов, могут использовать только образ контейнера Standard. Все блокноты, которые они открывают, будут использовать среду выполнения Standard.
- Авторы, у которых также есть права Advanced Notebooks будут иметь возможность применить к своим контейнерам образ Advanced. По умолчанию средой выполнения их блокнотов будет среда выполнения Advanced. Но у них есть возможность задать отдельную среду выполнения для индивидуального блокнота и использовать среду Standard или Advanced для своих блокнотов.