Облачная платформаEvolution

Управление контейнерами с помощью MCP-сервера

Эта статья полезна?

Вы можете использовать кастомный AI-агент для управления развертыванием приложения в Container Apps. AI-агент взаимодействует с MCP-сервером по протоколу

для выполнения команд по сборке и развертыванию контейнерного приложения из Docker-образа с помощью сервисов Container Apps и Artifact Registry.

Кастомный MCP-сервер можно подключить в плагин для VS Code, например Roo Code или Kilo Code.

Подключив MCP-сервер и любую text-to-text

, вы сможете выполнять команды по размещению Docker-образов в Artifact Registry и развертыванию приложения в Container Apps с помощью промптов.

В инструкции описано подключение моделей сервиса Foundation Models.

С помощью этой инструкции вы автоматизируете все шаги быстрого старта работы с Container Apps с помощью AI-агента.

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

1. Подготовьте плагин для работы с MCP-сервером и Foundation Models

  1. Убедитесь, что у вас есть доступ к Foundation Models.

  2. Убедитесь, что баланс в личном кабинете положительный. Если он нулевой или отрицательный — пополните баланс.

  3. Используйте следующие параметры:

    • При создании сервисного аккаунта выберите роль внутри проекта — «Администратор пользователей» для создания контейнеров Container Apps от лица этого сервисного аккаунта в дальнейшем.

    • При создании API-ключа укажите в поле Сервисы значение Foundation Models.

    • В поле Модель в плагине VS Code выберите одну из следующих моделей:

      • zai-org/GLM-4.6

      • Qwen/Qwen3-Coder-480B-A35B-Instruct

      • openai/gpt-oss-120b

    Чтобы увидеть полное описание моделей и стоимость токенов:

    1. Перейдите в личный кабинет.

    2. Перейдите в раздел AI Factory –> Foundation Models.

    3. В разделе Модели найдите описание, параметры и стоимость токенов для нужной модели.

    Вы можете использовать бесплатные модели Foundation Models, доступные в режиме Public Preview, или любую общедоступную text-to-text модель.

2. Зарегистрируйте MCP-сервер в плагине

MCP-сервер работает совместно с плагинами для VSCode, например Kilo Code, Roo Code, Claude, и использует MCP-протокол для обращения к внешним системам. С помощью MCP-сервера промпты передаются в Container Apps и Artifact Registry.

AI-агент, работающий с MCP-сервером, выполняет действия в Artifact Registry и Container Apps от лица сервисного аккаунта и аутентификация в Docker не требуется.

  1. Перед началом работы с AI-агентом для взаимодействия с MCP-сервером установите последнюю версию Golang с официального сайта.

  2. Выполните команду по установке AI-агента для работы с MCP-сервером:

    go install github.com/Nick1994209/cloudru-containerapps-mcp/cmd/cloudru-containerapps-mcp@latest
  3. Чтобы проверить, что AI-агент установлен, запустите AI-агент:

    cloudru-containerapps-mcp

    Если при запуске отображается сообщение command not found: cloudru-containerapps-mcp, добавьте в конфигурационный файл ~/.bashrc, ~/.zshrc или другой конфигурационный файл оболочки одну из следующих строк:

    export PATH="$PATH:$HOME/go/bin"
    export PATH="$PATH:$(go env GOPATH)/bin"

    В зависимости от установленной версии Go используется один из двух способов задать значение переменной PATH.

  4. Перейдите в сервисный аккаунт, созданный на этапе подготовки плагина.

  5. Перейдите в раздел Ключи доступа.

  6. Нажмите Создать ключ.

  7. Скопируйте в надежное место KeyID (логин) и Key Secret (пароль).

  8. Укажите в json-файле значения KeyID (логин) и Key Secret (пароль), а также project ID своего проекта.

    Вы можете узнать projectId своего проекта, открыв cloud.console.ru:

    https://console.cloud.ru/spa/svp?customerId=&projectId=<***********>

    Используйте следующий JSON-файл, дополнив своими значениями:

    {
    "mcpServers": {
    "cloudru-containerapps-mcp": {
    "command": "cloudru-containerapps-mcp",
    "args": [],
    "env": {
    "CLOUDRU_KEY_ID": "********",
    "CLOUDRU_KEY_SECRET": "********",
    "CLOUDRU_PROJECT_ID": "********",
    },
    "alwaysAllow": [
    "cloudru_containerapps_description",
    "cloudru_get_containerapp",
    "cloudru_get_list_containerapps",
    "cloudru_start_containerapp",
    "cloudru_get_list_docker_registries"
    ],
    "timeout": 900,
    "disabledTools": []
    }
    }
    }
  9. В плагине, который вы добавили в VS Code на этапе подготовки плагина, перейдите в раздел MCP Servers.

    ../_images/edit-kilocode-mcp-servers.png
  10. Нажмите Edit Global MCP и добавьте json-файл.

В разделе MCP Servers отобразится добавленный MCP-агент и набор команд.

3. Подготовьте образ приложения

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

Воспользуйтесь быстрым стартом или используйте промпт к модели:

Создай лёгкий и безопасный Dockerfile:
— Используй минимальный базовый образ (например, -slim или alpine).
— Создай непривилегированного пользователя с UID/GID 1000.
— Дай ему права на запись в рабочую директорию и другие папки, где приложению нужны права (например, /app, /tmp).
— Соблюдай многоступенчатую сборку, если применимо.
— Минимизируй размер: чисти кэш, не оставляй артефактов.
— Запускай приложение от пользователя UID 1000.

В корне проекта создан образ Dockerfile.

4. Выполните деплой приложения с помощью промпта

На этом шаге выполняется создание реестра в Artifact Registry, сборка и отправка в созданный реестр Docker-образа приложения и создание контейнерного приложения в Container Apps на основе Docker-образа.

MCP-сервер обращается к Public API Artifact Registry и Public API Container Apps для выполнения команд.

  1. Выполните промпт для создания реестра, заменив <your_registry_name> на ваше название реестра и <your_container_name> на название вашего приложения:

    ### Деплой приложения в Cloud.ru Evolution Container Apps
    Выполни MCP команду и создай в Cloud.ru реестр, где будет храниться Docker image с приложением <your_container_name>
    реестр называется = <your_registry_name>
  2. Выполните промпт для сборки и отправки Docker-образа приложения в Artifact Registry, заменив <your_registry_name> на ваше название реестра и <your_container_name> на название вашего приложения:

    Сделай docker build and push в Cloud.ru Artifact Registry используя
    название реестра = <your_registry_name>
    название репозитория = <your_container_name>
    название тэга = v0.0.1

    Убедитесь, что в личном кабинете в сервисе Artifact Registry отображается реестр <your_registry_name> и в нем содержится репозиторий <your_container_name>.

  3. Выполните промпт для создания контейнерного приложения:

    Создай ContainerApps используя
    название контейнерного приложения = <your_container_name>
    докер образ возьми из предыдущего шага
    включи автодеплой, шаблон тега "*"
    установи время простоя в 30 минут
    cpu = 0.2

    Убедитесь, что в личном кабинете в сервисе Container Apps запущено контейнерное приложение <your_container_name>. Для этого в личном кабинете перейдите на главную страницу сервиса Container Apps, выберите в меню слева Container Services и откройте нужный контейнер. Убедитесь, что для контейнера отображается статус ревизии «Выполняется».

  4. Не меняя контекстное окно, используйте промпт:

    Получи публичный адрес приложения
    Получи логи приложения

    Если команда не вернула логи или публичный URL-адрес приложения, попробуйте ещё раз спустя 10–15 секунд.

    Так как включена опция Автоматическое развертывание, при каждой загрузке в Artifact Registry новой версии образа, как описано в шаге 4.2, на стороне Container Apps будет автоматически создаваться новая ревизия контейнера на базе обновленной версии образа.

5. Проверьте работоспособность приложения

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

Откроется страница приложения.

Что дальше

Вы развернули контейнерное приложение, используя промпты к AI-агенту для выполнения команд MCP-сервера.

Так как включена опция Автоматическое развертывание, в дальнейшем вы можете выполнять только промпт по сборке и размещению вашего приложения в Artifact Registry из шага 4.2. Новая ревизия контейнера будет создана автоматически.