Рабочие пространства запускают IDE и AI-агента в Kubernetes по шаблону рабочего пространства. Шаблон задаёт объекты в целевом кластере; портал управляет созданием, запуском, остановкой, обновлением и удалением.
Подготовка установки
Для первого запуска подготовьте инфраструктуру и доступы:
- Создайте внешний сервис Kubernetes и заполните реквизиты доступа к целевому кластеру. Подготовьте целевой неймспейс.
- Предоставьте реквизитам права на объекты шаблона. Штатный шаблон создаёт StatefulSet, Service, Ingress, PersistentVolumeClaim, ConfigMap и Secret. Диагностика также читает поды, их логи и события; управление пространством изменяет число реплик StatefulSet и подключается к контейнерам.
- Подготовьте класс хранения для постоянного тома. Штатный шаблон использует
ReadWriteOnce; класс можно выбрать в файлах шаблона. - Подготовьте отдельный домен IDE и приложений, wildcard-запись DNS и TLS. Используйте домен, отдельный от родительского домена DDP и Dex, для которого браузер допускает cookie. Адреса должны быть доступны из браузера пользователя. Порядок настройки — в примерах Ingress и TLS.
- Обеспечьте доступ из целевых подов и Jobs операций к HTTPS-адресу портала с доверенным сертификатом. Он используется для состояния OpenTofu, обращения к модели, MCP и проверки доступа в IDE.
- Если используются закрытые хранилища образов, подготовьте Secrets для скачивания образов в соответствующих неймспейсах.
- Для шаблона с репозиторием создайте подключение Git и заполните реквизиты. Пользователям потребуется AI-провайдер.
При установке модулем development-platform Jobs операций OpenTofu выполняются в неймспейсе модуля. Под, том и Ingress рабочего пространства создаются в кластере и неймспейсе, выбранных в шаблоне. Эти места могут различаться.
Лимиты установки
До первого создания рабочего пространства сохраните лимиты в разделе «AI» → «Рабочие пространства» → «Шаблоны рабочих пространств», блок «Лимиты установки»:
| Поле | Назначение |
|---|---|
| «Запущенных рабочих пространств на пользователя» | Ограничивает число одновременно запущенных пространств одного владельца |
| «Запущенных рабочих пространств всего» | Ограничивает число одновременно запущенных пространств установки |
Оба значения — целые числа не меньше единицы. Для изменения требуется edit:workspace-policy, для просмотра — read:workspace-policy. Без сохранённых лимитов создание недоступно. Остановленные пространства не учитываются в лимите запущенных.
Выбор учётных данных
По умолчанию операции в Kubernetes используют реквизиты владельца рабочего пространства, а клонирование репозитория — его токен Git. Реквизиты заполняются в профиле для соответствующего внешнего сервиса.
На вкладке «Подключение» шаблона можно отдельно для Kubernetes и Git включить «Использовать сервисную учётную запись» и выбрать «Учётная запись». В этом случае операции используют реквизиты выбранного пользователя.
Токен Git выбранной учётной записи доступен владельцу внутри рабочего пространства. Выбирайте учётную запись с доступом к тем проектам, с которыми разрешена работа по этому шаблону.
Выдача доступа
Для создания рабочих пространств выдайте пользователю create:workspaces и право использовать шаблон: глобальное use:workspace-templates или объектное use:workspace-template. Для перехода в раздел «AI» требуется view:ai-page.
Просмотр, запуск, остановка и удаление регулируются разрешениями рабочих пространств. Владение предоставляет права, когда включена настройка owner-is-admin.
После подготовки создайте и активируйте шаблон, затем выполните пользовательский сценарий создания.
Параметры модуля
При установке модулем можно переопределить адрес backend и ресурсы Jobs операций. Пример фрагмента spec.settings ModuleConfig:
workspaces:
backendUrl: https://ddp.example.com
jobResources:
cpuMillicores: 500
memoryBytes: 1073741824
temporaryBytes: 134217728Без переопределения используется HTTPS-адрес портала, 500 millicores CPU, 1 ГиБ памяти и 128 МиБ временного хранилища на Job. Значения CPU и памяти задают requests и limits Jobs. Ресурсы контейнеров самого рабочего пространства задаются в шаблоне.