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

Добавление пользовательского домена для контейнера


С помощью этого руководства вы научитесь добавлять пользовательские домены к контейнерам в Container Apps.

Вы будете использовать следующие сервисы:

  • Certificate Manager — сервис управления сертификатами.

  • Container Apps — сервис для запуска контейнерных приложений в облаке. Не требует знания Kubernetes и создания виртуальных машин.

  • DNS — сервис по управлению приватными и публичными зонами и их ресурсными записями..

  • Провайдер доменов.

Шаги:

  1. Создайте домен.

  2. Создайте DNS-зону и делегируйте ее.

  3. Подготовьте среду.

  4. Создайте или загрузите сертификат в сервис Certificate Manager.

  5. Создайте и запустите контейнер.

  6. Добавьте домен к контейнеру.

  7. Добавьте CNAME-запись.

  8. Проверьте подключение к контейнеру по пользовательскому домену.

Перед началом работы

Зарегистрируйтесь в личном кабинете Cloud.ru.

Если вы уже зарегистрированы, войдите под своей учетной записью.

1. Создайте домен

Для создания домена обратитесь к регистраторам доменных записей, например, Рег.ру, Руцентр и другим.

2. Создайте DNS-зону и делегируйте ее

  1. Создайте прямую публичную зону в сервисе Evolution DNS.

  2. Делегируйте созданную зону.

    Подробную информацию о настройке доменных записей смотрите в документации вашего регистратора доменных имен, например:

3. Подготовьте среду

Подготовьте среду, если не сделали этого ранее.

4. Создайте или загрузите сертификат

  1. Подключите сервис Certificate Manager, если еще не подключен.

  2. Создайте сертификат.

5. Создайте и запустите контейнер

  1. На верхней панели слева нажмите Главное меню и выберите Контейнеры → Container Apps.

  2. Выберите Container Services и нажмите Создать.

  3. Выберите конфигурацию и укажите название контейнера.

  4. Выберите реестр и репозиторий образа, который вы загрузили в Artifact Registry.

  5. Укажите порт контейнера.

  6. Нажмите Создать.

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

6. Добавьте домен к контейнеру

  1. Пройдите аутентификацию.

  2. Добавьте пользовательский домен к существующему контейнеру:

    curl --request PATCH \
    --url https://containers.api.cloud.ru/v2/containers/<container_name>?projectId=<project_id>\
    --header 'authorization: Bearer <access_token>' \
    --header 'content-type: application/json' \
    --data '
    {
    "configuration": {
    "ingress": {
    "publiclyAccessible": true,
    "customDomains": [
    {
    "domain": "<domain_name>",
    "certificateId": "<certificate_id>"
    }
    ]
    }
    },
    "template": {
    "containers": [
    {
    "name": "<container_name_1>",
    "image": "<image_name>",
    "containerPort": <container_port>
    }
    ]
    }
    }'

    Где:

    • <access_token> — токен для авторизации.

    • <project_id>— идентификатор проекта.

    • <container_name> — название контейнера, который создан на предыдущем этапе.

    • <domain_name> — название пользовательского домена, который создали на первом этапе, в формате example.com или subdomain.example.com.

    • <certificate_id> — идентификатор сертификата.

    • <container_name_1> — название главного контейнера внутри созданного контейнера.

    • <image_name> — URI-адрес образа, который загружен в реестр Artifact Registry.

    • <container_port> — порт, на котором работает ваше приложение. Порты 8008, 8012, 8013, 8112, 8022, 9090, 9091 и порты от 1 до 1024 зарезервированы сервисом и не могут использоваться.

Пользовательский домен будет добавлен. Домен по умолчанию включен и используется для обращения к контейнеру.

7. Добавьте CNAME-запись

  1. На верхней панели слева нажмите Главное меню и выберите Сеть → DNS.

  2. Перейдите на вкладку Прямые зоны.

  3. В строке прямой зоны, которую вы создали на шаге 2, нажмите Горизонтальное меню и выберите Записи прямых зон.

  4. Нажмите Создать запись.

  5. Укажите Поддомен, который вы регистрировали на шаге 1.

  6. (Опционально) Включите опцию Wildcard.

    Подробнее о Wildcard

  7. Выберите Тип записи CNAME.

  8. В поле Значение укажите URL-адрес контейнера.

  9. Задайте TTL.

  10. Нажмите Создать.

8. Проверьте подключение к контейнеру по пользовательскому домену

Перейдите по URL-адресу пользовательского домена. Откроется ваше контейнерное приложение.

Результат

Вы добавили для контейнера в Container Apps пользовательский домен.