Битрикс
Битрикс — приложение, которое выполняет подготовку и развертывание окружения для стандартной установки продуктов компании «1С-Битрикс» с административной панелью в кластере Managed Service for Kubernetes.
Окружение предназначено:
- для развертывания продуктов Битрикс с нуля или из резервной копии;
- для внесения изменений в компоненты Битрикс с помощью административной панели продукта;
- для тестирования и разработки.
В приложении поддерживаются:
- клиент для работы с Git;
- выполнение агентов в cron-задачах;
- сервер очередей Push and Pull;
- морфологический поиск Sphinx;
- инструменты для сбора метрик PHP и Nginx.
-
Создайте в кластере новое пространство имен, например,
bitrix-admin. -
Если вы хотите использовать собственный сертификат для сайта Битрикс, создайте в пространстве имен
bitrix-adminресурсSecretвида:apiVersion: v1 kind: Secret metadata: name: bitrix-tls-secret namespace: bitrix-admin type: kubernetes.io/tls data: tls.crt: <Base64_encoded_сертификат> tls.key: <Base64_encoded_приватный_ключ_сертификата> -
Создайте бакет Object Storage, в котором будут размещаться общие папки проекта
uploadиbackup. -
Создайте сервисный аккаунт с ролью
storage.editorна каталог, в котором располагается бакет. -
Создайте статический ключ доступа для сервисного аккаунта и сохраните его идентификатор и секретный ключ.
-
Создайте кластер Managed MySQL со следующими характеристиками:
- Сеть — выберите сеть, в которой располагается кластер Managed Kubernetes.
- В блоке Хосты проверьте, что опция Публичный доступ выключена для всех хостов.
- Настройки СУБД:
- Innodb Flush Log At Trx Commit —
2; - Innodb Strict Mode —
Выключено; - Sync Binlog —
1000; - Transaction Isolation —
read committed.
- Innodb Flush Log At Trx Commit —
Сохраните адрес хоста, имя базы данных, логин и пароль пользователя БД. Они понадобятся в мастере установки Битрикс. Вы можете использовать любую другую инсталляцию MySQL.
-
Если вы хотите использовать сервер очередей (модуль Битрикс 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 ''"Сохраните результат выполнения команды.
-
Задайте настройки приложения Битрикс:
-
Пространство имен — выберите созданное ранее пространство имен.
-
Название приложения — укажите название приложения.
-
Размер тома — укажите размер тома для хранения файлов Битрикс. Размер указывается в
Gi. -
Класс хранилища — выберите класс хранилища для тома.
-
Доменное имя проекта — укажите полное доменное имя проекта.
-
IP-адрес балансировщика — укажите IP-адрес балансировщика, если вы уже его зарезервировали.
-
Политика управления трафиком — выберите политику маршрутизации внешнего трафика.
-
Использовать certmanager — выберите опцию, чтобы автоматически получить сертификат от издателя Let’s Encrypt.
Для успешного получения сертификата зарегистрируйте публичную доменную зону и делегируйте домен. Для домена в этой зоне будет выдан сертификат с прохождением проверки DNS-01.
-
Электронная почта для получения уведомлений от Let’s Encrypt — если выбрана опция Использовать certmanager, то укажите адрес электронной почты для получения уведомлений от издателя Let’s Encrypt.
-
Имя издателя — если выбрана опция Использовать certmanager, то укажите имя ресурса
ClusterIssuer, который будет использоваться для автоматического получения SSL/TLS-сертификатов. -
Секрет, содержащий tls.crt и tls.key — если certmanager не используется, то укажите имя секрета, созданного ранее.
-
Настроить git — выберите опцию для работы с Git-репозиторием.
В этом случае укажите параметры Git-репозитория в полях:
- Адрес git-репозитория — адрес репозитория в формате протокола SSH.
- Ветка — рабочая ветка Git-репозитория.
- Пользователь — имя пользователя Git-репозитория.
- Электронная почта — электронная почта пользователя Git-репозитория.
- Ключ доступа — укажите Base64-закодированное содержимое приватного SSH-ключа доступа к репозиторию.
-
Использовать cron для запуска агентов — выберите опцию для запуска агентов Битрикс по расписанию, заданному в
ConfigMap<название_приложения>-bitrix-admin-cron. По умолчанию вConfigMapнастроено выполнение заданий агентов раз в минуту и резервное копирование проекта раз в сутки. Также вы можете добавить собственные расписания. -
Использовать сервер очередей — выберите опцию для работы сервера очередей (модуль Битрикс Push and Pull). Сервер разворачивается в отдельном ресурсе
Deployment. -
Секретный ключ — если выбрана опция Использовать сервер очередей, то укажите созданный ранее секретный ключ.
-
Использовать Sphinx — выберите опцию для использования полнотекстового поиска Sphinx. Sphinx разворачивается в отдельном ресурсе
Deployment. -
Хранить кеш в Redis — выберите опцию для хранения кеша Битрикс в Redis. Не рекомендуется включать при единственной реплике.
-
Класс хранилища для S3 — по умолчанию
csi-s3. -
Идентификатор ключа S3, Секретный ключ S3 — укажите полученные ранее идентификатор и секретный ключ статического ключа.
-
S3-бакет — укажите имя созданного ранее бакета Object Storage.
-
SMTP-сервер, SMTP-порт, Пользователь почтового ящика, Пароль от почтового ящика — укажите параметры подключения к почтовому серверу.
-
Версия PHP — укажите версию PHP:
8.2.33,8.3.33,8.4.25или8.5.10. При обновлении сохраняется ранее выбранная версия PHP. -
Экспортировать метрики PHP — выберите опцию, чтобы включить метрики PHP.
-
Экспортировать метрики NGINX — выберите опцию, чтобы включить метрики NGINX.
-
Использовать встроенный Redis — оставьте опцию включённой, чтобы развернуть Redis вместе с приложением. В этом случае поля Хост внешнего Redis и Пароль Redis должны оставаться пустыми.
Для подключения к отдельно развернутому Redis отключите эту опцию и задайте параметры:
- Хост внешнего Redis — обязательный адрес сервера, доступного из приложения.
- Порт внешнего Redis — порт подключения, по умолчанию
6379. - Пароль Redis — пароль для подключения. Оставьте поле пустым, если сервер не требует пароль.
Redis используется для хранения сессий независимо от опции Хранить кеш в Redis. При отключении встроенного Redis подключение к внешнему обязательно.
-
Использовать bitrixsetup.php — выберите опцию для установки Битрикс с нуля.
-
Использовать restore.php — выберите опцию для восстановления Битрикс из резервной копии.
-
-
Нажмите кнопку Установить.
-
Дождитесь перехода приложения в статус
Deployed. -
Откройте в браузере проект по указанному в настройках доменному имени и запустите мастер установки Битрикс. На этапе настройки базы данных укажите адрес хоста созданного кластера Managed MySQL, имя базы данных, логин и пароль пользователя БД. Завершите установку.
Для работы с репозиторием Git в приложении:
-
Подключитесь к контейнеру пода:
kubectl -n bitrix-admin exec \ <имя_пода_bitrix_main> \ -c git -it -- sh -
В контейнере доступны команды
git, а также вспомогательный скрипт/scripts/commit-all.shдля загрузки изменений из папкиbitrixв настроенный ранее репозиторий. Для использования выполните команду:/scripts/commit-all.sh <описание commit>
Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю.
Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.
| Helm-чарт | Версия | Pull-команда | Документация |
|---|---|---|---|
| yandex-cloud/bitrix-env/chart/bitrix-env | 1.0.7 | Открыть |
| Docker-образ | Версия | Pull-команда |
|---|---|---|
| yandex-cloud/bitrix-env/bitnami/redis1789566872190363361228058870643905000661686010862 | 8.6.2 | |
| yandex-cloud/bitrix-env/bitnami/redis-sentinel1789566872190363361228058870643905000661686010862 | 8.6.2 | |
| yandex-cloud/bitrix-env/bitnami/redis-exporter1789566872190363361228058870643905000661686010862 | 1.82.0 | |
| yandex-cloud/bitrix-env/bitnami/os-shell1789566872190363361228058870643905000661686010862 | 5 | |
| yandex-cloud/bitrix-env/bitnami/kubectl1789566872190363361228058870643905000661686010862 | 1.35.3 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-push-server1789566872190363361228058870643905000661686010862 | 3.3 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-sphinx1789566872190363361228058870643905000661686010862 | 2.2.11-v2 | |
| yandex-cloud/bitrix-env/hipages/php-fpm_exporter1789566872190363361228058870643905000661686010862 | 2.2.0 | |
| yandex-cloud/bitrix-env/nginx/nginx-prometheus-exporter1789566872190363361228058870643905000661686010862 | 1.5.3 | |
| yandex-cloud/bitrix-env/bitnami/kubectl1789566872190363361228058870643905000661686010862 | 1.35.3 | |
| yandex-cloud/bitrix-env/alpine/fix1789566872190363361228058870643905000661686010862 | 1.1 | |
| yandex-cloud/bitrix-env/alpine/git1789566872190363361228058870643905000661686010862 | 1.1 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-admin-nginx1789566872190363361228058870643905000661686010862 | 1.30.4-v1 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-admin-php1789566872190363361228058870643905000661686010862 | 8.2.33 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-admin-php1789566872190363361228058870643905000661686010862 | 8.3.33 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-admin-php1789566872190363361228058870643905000661686010862 | 8.4.25 | |
| yandex-cloud/bitrix-env/bitrix/bitrix-admin-php1789566872190363361228058870643905000661686010862 | 8.5.10 |