Как деплоить OpenShift продукты?

«Как деплоить OpenShift продукты?» — вопрос из категории Kubernetes, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я разворачивал OpenShift Container Platform (OCP) как on-premise, так и в облаке. Процесс строго регламентирован Red Hat и основан на инфраструктуре как коде (IaC).

Основные шаги деплоя OCP (например, на vSphere или AWS):

  1. Подготовка инфраструктуры: Создание виртуальных машин, сетей, балансировщиков нагрузки, DNS-записей (api..apps..). Для облака это делается через Terraform или CloudFormation.
  2. Генерация конфигурации: Создание файла install-config.yaml с указанием платформы, региона, размера машин, pull-secret'а и SSH-ключа.
  3. Запуск установщика: Использование утилиты openshift-install для создания машин и начальной загрузки кластера.
    # Генерация манифестов
    openshift-install create manifests --dir=<installation_directory>
    # Создание кластера
    openshift-install create cluster --dir=<installation_directory> --log-level=info
  4. Пост-установочная настройка:
    • Настройка 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-платформы для разработки.