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

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

Ответ

OpenShift — это коммерческая платформа Red Hat на базе Kubernetes, предоставляющая дополнительные enterprise-функции. Основные продукты:

  • OpenShift Container Platform (OCP): Основное on-premise или облачное решение. Включает встроенный container registry, CI/CD (OpenShift Pipelines на Tekton), мониторинг (Prometheus/Grafana), и усиленные механизмы безопасности, такие как Security Context Constraints (SCC).
  • OpenShift Kubernetes Engine (OKE): Минималистичный дистрибутив, содержащий только ядро Kubernetes и необходимые для его работы компоненты OpenShift.
  • OpenShift Dedicated: Управляемый сервис (Managed Kubernetes), развернутый в публичном облаке (AWS, GCP). Инфраструктурой управляет Red Hat.
  • Red Hat OpenShift Service on AWS (ROSA): Интегрированный managed-сервис, напрямую развертываемый в AWS-аккаунте пользователя.
  • Azure Red Hat OpenShift (ARO): Аналогично ROSA, но для Microsoft Azure.

Ключевые отличия от "ванильного" Kubernetes:

  • Builds & Source-to-Image (S2I): Упрощенный процесс сборки образов из исходного кода.
  • DeploymentConfig: Устаревший, но все еще встречающийся ресурс для управления развертываниями (аналог Deployment).
  • Routes: Альтернатива Ingress для маршрутизации HTTP/HTTPS трафика.
  • Integrated Operator Hub: Каталог для установки и управления операторами.

Пример манифеста DeploymentConfig (унаследованный объект OCP):

apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
  name: my-app-dc
spec:
  replicas: 3
  selector:
    app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: app-container
        image: image-registry.openshift-image-registry.svc:5000/my-project/my-app:latest
        ports:
        - containerPort: 8080