Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
    • Установка приложений из Yandex Cloud Marketplace с помощью Terraform
      • Основы работы с Cloud Marketplace
      • Установка Битрикс
      • Установка Argo CD
      • Установка Chaos Mesh
      • Установка cert-manager c плагином Cloud DNS ACME webhook
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка ExternalDNS c плагином для Cloud DNS
      • Установка Falco
      • Установка Filebeat OSS
      • Установка Fluent Bit
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка Gwin
      • Установка HashiCorp Vault
      • Установка Ingress NGINX
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Istio
      • Установка Jaeger
      • Установка KEDA
      • Установка Kruise
      • Установка Kubernetes Node Remediation
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка OIDC Аутентификация
      • Установка Policy Reporter
      • Установка Prometheus Operator
      • Установка Thumbor
      • Установка Velero
      • Установка VictoriaLogs
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Установка с помощью Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Работа с репозиторием Git
  • См. также
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка Битрикс

Установка Битрикс

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 8 декабря 2025 г.
  • Перед началом работы
  • Установка с помощью Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Работа с репозиторием Git
  • См. также

Битрикс — приложение, которое выполняет подготовку и развертывание окружений для стандартной установки продуктов компании «1С-Битрикс» в кластере Yandex Managed Service for Kubernetes.

Доступно два типа окружения:

  • Административное окружение, которое предназначено:

    • для развертывания продуктов Битрикс с нуля или из резервной копии;
    • для внесения изменений в компоненты Битрикс с помощью административной панели продукта;
    • для тестирования и разработки.

    Административное окружение поддерживает:

    • клиент для работы с Git;
    • выполнение агентов в cron-задачах;
    • сервер очередей;
    • морфологический поиск Sphinx;
    • инструменты для сбора метрик PHP и Nginx.

    Окружение можно установить как из Yandex Cloud Marketplace, так и с помощью Helm-чарта.

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

  • Продуктовое окружение, которое поддерживает все возможности административного окружения, но не предназначено для внесения каких-либо изменений в компоненты Битрикс. В продуктовом окружении отсутствует административная панель.

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

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

    Продуктовое окружение можно установить только с помощью Helm-чарта.

Примечание

Административное и продуктовое окружения совместно используют:

  • базу данных MySQL®;
  • бакет Object Storage.

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

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  2. Создайте в кластере Managed Service for Kubernetes новое пространство имен bitrix-space для административного окружения и bitrix-prod для продуктового окружения.

  3. Если вы хотите использовать собственный сертификат для сайта Битрикс, создайте в пространствах имен для обоих окружений ресурс Secret вида:

    apiVersion: v1
    kind: Secret
    metadata:
      name: bitrix-tls-secret
      namespace: <пространство_имен>
    type: kubernetes.io/tls
    data:
      tls.crt: <Base64_encoded_сертификат>
      tls.key: <Base64_encoded_приватный_ключ_сертификата>
    
  4. Создайте бакет, в котором будут размещаться общие папки проекта upload и backup.

  5. Создайте сервисный аккаунт с ролью storage.editor на каталог, в котором располагается бакет.

  6. Создайте статический ключ доступа для сервисного аккаунта и сохраните его идентификатор и секретный ключ.

  7. Создайте кластер Managed Service for MySQL® с параметрами:

    • Сеть — выберите сеть, в которой располагается кластер Managed Service for Kubernetes.
    • В блоке Хосты проверьте, что опция Публичный доступ выключена для всех хостов.
    • Настройки СУБД:
      • Innodb Flush Log At Trx Commit — 2;
      • Innodb Strict Mode — Выключено;
      • Sync Binlog — 1000;
      • Transaction Isolation — read committed.
  8. Если вы хотите использовать сервер очередей (модуль Битрикс Push and Pull), создайте секретный ключ для него:

    docker container run --rm \
        --name push_server_key_generate alpine:3.21 \
        sh -c "(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 128) && echo ''"
    

    Сохраните результат выполнения команды.

  9. Если вы планируете использовать продуктовое окружение, подготовьте ресурсы Container Registry для загрузки необходимых Docker-образов:

    1. Создайте реестр контейнеров:

      yc container registry create --name yc-auto-cr
      
    2. Сконфигурируйте Docker Credential helper. Он позволяет работать с приватными реестрами Yandex Cloud, не выполняя команду docker login.

      Для настройки Credential helper выполните команду:

      yc container registry configure-docker
      
  10. Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

    Важно

    От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.

Установка с помощью Cloud MarketplaceУстановка с помощью Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.

  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.

  3. В разделе Доступные для установки приложения выберите Битрикс и нажмите кнопку Перейти к установке.

  4. Задайте настройки приложения:

    • Пространство имен — выберите пространство имен, созданное ранее.

    • Название приложения — укажите название приложения.

    • Размер тома — укажите размер тома для хранения файлов Битрикс. Размер указывается в Gi.

    • Класс хранилища — выберите класс хранилища для тома.

    • Доменное имя проекта — укажите полное доменное имя проекта.

    • IP-адрес балансировщика — укажите IP-адрес балансировщика, если вы уже его зарезервировали.

    • Политика управления трафиком — выберите политику маршрутизации внешнего трафика.

    • Использовать certmanager — выберите опцию, чтобы автоматически получить сертификат от издателя Let's Encrypt.

      Для успешного получения сертификата зарегистрируйте публичную доменную зону и делегируйте домен. Для домена в этой зоне будет выдан сертификат с прохождением проверки DNS-01.

    • Электронная почта для получения уведомлений от Let's Encrypt – если выбрана опция Использовать certmanager, укажите адрес электронной почты для получения уведомлений от издателя Let's Encrypt.

    • Имя издателя — если выбрана опция Использовать certmanager, укажите имя ресурса ClusterIssuer или Issuer, который будет использоваться для автоматического получения SSL/TLS-сертификатов.

    • Секрет, содержащий tls.crt и tls.key — если certmanager не используется, укажите имя секрета, созданного ранее.

    • Настроить git — выберите опцию для работы с Git-репозиторием.

      В этом случае укажите параметры Git-репозитория в полях:

      • Адрес git-репозитория — адрес репозитория в формате протокола SSH.
      • Ветка — рабочая ветка Git-репозитория.
      • Пользователь — имя пользователя Git-репозитория.
      • Электронная почта — электронная почта пользователя Git-репозитория.
      • Ключ доступа — укажите Base64-закодированное содержимое публичного ключа доступа к репозиторию.
    • Использовать cron для запуска агентов — выберите опцию для запуска агентов Битрикс по расписанию, заданному в ConfigMap <название_приложения>-bitrix-space-cron. По умолчанию в ConfigMap настроено выполнение заданий агентов раз в минуту и резервное копирование проекта раз в сутки. Также вы можете добавить собственные расписания.

    • Использовать сервер очередей — выберите опцию для работы сервера очередей (модуль Битрикс Push and Pull). Ресурс Deployment для развертывания сервера запускается в отдельном поде.

    • Секретный ключ — если выбрана опция Использовать сервер очередей, укажите секретный ключ, созданный ранее.

    • Использовать Sphinx — выберите опцию для использования полнотекстового поиска Sphinx. Ресурс Deployment для развертывания Sphinx запускается в отдельном поде.

    • Хранить кеш в Redis — выберите опцию для хранения кеша Битрикс в Redis. В кластере будет развернут отдельный StatefulSet <название_приложения>-redis-* в пространстве имен приложения. Не рекомендуется включать в административном окружении, так как это может привести к деградации производительности.

    • Экспортировать метрики PHP — выберите опцию, чтобы включить метрики PHP.

    • Экспортировать метрики NGINX — выберите опцию, чтобы включить метрики NGINX.

    • Класс хранилища для S3 — по умолчанию csi-s3.

    • Идентификатор ключа S3, Секретный ключ S3 — укажите полученные ранее идентификатор и секретный ключ статического ключа.

    • S3-бакет — укажите имя созданного ранее бакета Object Storage.

    • Размер папки upload — укажите размер каталога для загрузок в бакете. Размер указывается в Gi.

    • Размер папки backup — укажите размер каталога для хранения резервных копий в бакете. Размер указывается в Gi.

    • SMTP-сервер, SMTP-порт, Пользователь почтового ящика, Пароль от почтового ящика — укажите параметры подключения к почтовому серверу.

    • MySQL-хост, Пользователь БД, Пароль пользователя БД, База данных — укажите параметры подключения к базе данных MySQL® в созданном ранее кластере Managed Service for MySQL®.

    • Версия NGINX — выберите версию NGINX для Битрикс.

    • Версия PHP — выберите версию PHP для Битрикс.

    • Использовать bitrixsetup.php — выберите опцию для установки Битрикс с нуля.

    • Использовать restore.php — выберите опцию для восстановления Битрикс из резервной копии.

  5. Нажмите кнопку Установить.

  6. Дождитесь перехода приложения в статус Deployed.

  7. Откройте в браузере проект по указанному в настройках доменному имени и установите продукт Битрикс с помощью мастера установки.

  8. Проверьте средства работы с Git-репозиторием.

Установка с помощью Helm-чартаУстановка с помощью Helm-чарта

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Для установки Helm-чарта с административным окружением Битрикс выполните команду:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/bitrix-env/chart/bitrix-env \
      --version 1.0.5 \
      --untar && \
    helm install \
      --namespace bitrix-space \
      --set volumeSize="<размер_тома_Битрикс>" \
      --set fqdn="<доменное_имя_сайта_Битрикс>" \
      --set loadBalancerIP="<IP-адрес_балансировщика>" \
      --set features.cron=<использовать_cron_для_запуска_агентов> \
      --set features.push=<использовать_сервер_очередей> \
      --set features.sphinx=<использовать_поиск_Sphinx> \
      --set features.phpExporter=<экспортировать_метрики_PHP> \
      --set features.nginxExporter=<экспортировать_метрики_NGINX> \
      --set features.git=<использовать_Git> \
      --set git.repoUrl="<SSH_URL_репозитория>" \
      --set git.name="<имя_пользователя_Git>" \
      --set git.email="<электронная_почта_пользователя_Git>" \
      --set git.secret="<Base64_ключ_доступа_пользователя_Git>" \
      --set s3.secret.accessKey="<идентификатор_ключа_бакета>" \
      --set s3.secret.secretKey="<секретный_ключ_бакета>" \
      --set s3.bucket="<имя_бакета>" \
      --set msmtprc.host="<FQDN_почтового_сервера>" \
      --set msmtprc.port="<порт_почтового_сервера>" \
      --set msmtprc.user="<имя_пользователя_почтового_сервера>" \
      --set msmtprc.password="<пароль_пользователя_почтового_сервера>" \
      --set push.key="<секретный_ключ_Push_сервера_Битрикс>" \
      --set-json 'mysql={"host":"<FQDN_хоста_MySQL>","login":"<имя_пользователя_MySQL>","password":"<пароль_пользователя_MySQL>","database":"<имя_базы_данных_MySQL>"}' \
      --set certmanager.enabled=false \
      --set tls.existingSecret="<имя_секрета_с_сертификатом>" \
      --set features.cache=<использовать_кеш_Redis> .
      bitrix ./bitrix/
    

    При использовании certmanager для выпуска сертификата вместо параметров tls.existingSecret и certmanager.enabled=false укажите параметры:

    • certmanager.issuer=<ресурс_Issuer_или_ClusterIssuer>
    • certmanager.email=<электронная_почта_для_уведомлений_от_Lets_Encrypt>.

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

  4. Для установки Helm-чарта с продуктовым окружением Битрикс:

    1. Создайте в кластере новое пространство имен bitrix-prod.

    2. Создайте локально папку bitrix или, если ваш проект загружен в Git-репозиторий, скачайте репозиторий в эту папку:

      git clone <SSH_URL_репозитория> bitrix
      
    3. Подготовьте образ приложения Битрикс с PHP:

      1. Скачайте образ bitrix-admin-php:

        docker pull cr.yandex/yc-marketplace/yandex-cloud/bitrix-env/bitrix/bitrix-admin-php1764089856329713384751806090650435327427957097722:8.2.29
        
      2. Установите тег в реестре, созданном ранее:

        docker tag cr.yandex/yc-marketplace/yandex-cloud/bitrix-env/bitrix/bitrix-admin-php1764089856329713384751806090650435327427957097722:8.2.29 cr.yandex/<идентификатор_реестра>/bitrix-env/bitrix/bitrix-admin-php
        
      3. Создайте в директории с папкой bitrix файл Dockerfile-php со следующим содержимым:

        FROM cr.yandex/<идентификатор_реестра>/bitrix-env/bitrix/bitrix-admin-php
        COPY --chown=bitrix:bitrix bitrix/ /home/bitrix/www
        WORKDIR /home/bitrix/www
        
      4. Соберите Docker-образ для установки продуктового окружения с помощью команды:

        docker build --platform linux/amd64 \
            -f Dockerfile-php \
            -t cr.yandex/<идентификатор_реестра>/bitrix-prod-php \
            --no-cache .
        
      5. Отправьте полученный образ в реестр с помощью команды:

        docker push cr.yandex/<идентификатор_реестра>/bitrix-prod-php
        
    4. Аналогично выполненным шагам из п. 2, подготовьте образ Битрикс с NGINX bitrix-prod-nginx на основе базового образа cr.yandex/yc-marketplace/yandex-cloud/bitrix-env/bitrix/bitrix-admin-nginx1764089856329713384751806090650435327427957097722:1.28.

    5. Выполните установку Helm-чарта:

      helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/bitrix-env/chart/bitrix-env \
        --version 1.0.5 \
        --untar && \
      helm install \
        --namespace bitrix-prod \
        --set environment=prod \
        --set replicaCount=<количество_реплик_подов_Битрикс> \
        --set fqdn="<доменное_имя_сайта_Битрикс>" \
        --set loadBalancerIP="<IP-адрес_балансировщика>" \
        --set features.cron=<использовать_cron_для_запуска_агентов> \
        --set features.push=<использовать_сервер_очередей> \
        --set features.sphinx=<использовать_поиск_Sphinx> \
        --set features.phpExporter=<экспортировать_метрики_PHP> \
        --set features.nginxExporter=<экспортировать_метрики_NGINX> \
        --set s3.secret.accessKey="<идентификатор_ключа_бакета>" \
        --set s3.secret.secretKey="<секретный_ключ_бакета>" \
        --set s3.bucket="<имя_бакета>" \
        --set msmtprc.host="<FQDN_почтового_сервера>" \
        --set msmtprc.port="<порт_почтового_сервера>" \
        --set msmtprc.user="<имя_пользователя_почтового_сервера>" \
        --set msmtprc.password="<пароль_пользователя_почтового_сервера>" \
        --set push.key="<секретный_ключ_Push_сервера_Битрикс>" \
        --set mysql.host="<FQDN_хоста_MySQL>" \
        --set mysql.login="<имя_пользователя_MySQL>" \
        --set mysql.password="<пароль_пользователя_MySQL>" \
        --set mysql.database="<имя_базы_данных_MySQL>" \
        --set php.image="cr.yandex/<идентификатор_реестра>/bitrix-prod-php" \
        --set nginx.image="cr.yandex/<идентификатор_реестра>/bitrix-prod-nginx" \
        --set certmanager.enabled=false \
        --set tls.existingSecret="<имя_секрета_с_сертификатом>" \
        bitrix ./bitrix/
      

      При использовании certmanager для выпуска сертификата вместо параметров tls.existingSecret и certmanager.enabled=false укажите параметры:

      • certmanager.issuer="<ресурс_Issuer_или_ClusterIssuer>"
      • certmanager.email="<электронная_почта_для_уведомлений_от_Lets_Encrypt>".

      Примечание

      Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

Работа с репозиторием GitРабота с репозиторием Git

Работа с репозиторием возможна только в административном окружении.

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

    kubectl -n bitrix-space exec \
      <имя_пода_bitrix_main> \
      -c git -it -- \
      sh /home/bitrix/www $
    
  2. В контейнере доступны команды git, а также вспомогательный скрипт /scripts/commit-all.sh для загрузки изменений из папки bitrix в настроенный ранее репозиторий. Для использования выполните команду:

    /scripts/commit-all.sh <описание commit>
    

См. такжеСм. также

  • Контейнерное окружение для Битрикс
  • 1С-Битрикс: Управление сайтом
  • 1С-Битрикс24
  • Отраслевые решения 1С-Битрикс

Была ли статья полезна?

Предыдущая
Основы работы с Cloud Marketplace
Следующая
Установка Argo CD
Проект Яндекса
© 2025 ООО «Яндекс.Облако»