Ответ
Я разворачивал OpenShift Container Platform (OCP) как on-premise, так и в облаке. Процесс строго регламентирован Red Hat и основан на инфраструктуре как коде (IaC).
Основные шаги деплоя OCP (например, на vSphere или AWS):
- Подготовка инфраструктуры: Создание виртуальных машин, сетей, балансировщиков нагрузки, DNS-записей (api..apps..). Для облака это делается через Terraform или CloudFormation.
- Генерация конфигурации: Создание файла
install-config.yamlс указанием платформы, региона, размера машин, pull-secret'а и SSH-ключа. - Запуск установщика: Использование утилиты
openshift-installдля создания машин и начальной загрузки кластера.# Генерация манифестов openshift-install create manifests --dir=<installation_directory> # Создание кластера openshift-install create cluster --dir=<installation_directory> --log-level=info - Пост-установочная настройка:
- Настройка Identity Provider (LDAP, GitHub OAuth).
- Развертывание операторов для мониторинга (Prometheus), логирования (Elasticsearch) и реестра образов (OpenShift Container Registry).
- Настройка StorageClass (например, для RWX-томов).
Для managed-решений (ROSA/ARO/ROKS) процесс проще: большая часть инфраструктуры управляется провайдером. Развертывание происходит через CLI или веб-консоль облака с минимальным набором параметров.
Ключевые отличия от vanilla Kubernetes: OpenShift включает встроенные компоненты безопасности (SCC - Security Context Constraints), сетевую политику (OpenShift SDN или OVN-Kubernetes) и упрощенный деплой приложений через Source-to-Image (S2I) и BuildConfig. Деплой самого OpenShift — это первый шаг к созданию полноценной PaaS-платформы для разработки.