Какой у вас опыт работы с платформой OpenShift?

«Какой у вас опыт работы с платформой OpenShift?» — вопрос из категории DevOps, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Работал с Red Hat OpenShift как с enterprise-платформой на основе Kubernetes.

Основные задачи и отличия от «ванильного» K8s:

  • Развертывание приложений: Использовал DeploymentConfig (специфичный для OpenShift ресурс) и стандартные Deployment.
  • Сетевое взаимодействие: Настройка Route (аналог Ingress) для внешнего доступа к сервисам.
  • CI/CD: Интеграция со встроенными (Source-to-Image, S2I) и внешними (Jenkins) инструментами сборки.
  • Безопасность и управление: Работа с SecurityContextConstraints, ServiceAccount, квотами и лимитами.
  • Администрирование: Использование CLI (oc) для операций, выходящих за рамки kubectl.

Пример манифеста DeploymentConfig:

apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
  name: my-app
spec:
  replicas: 2
  selector:
    app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: app-container
        image: registry.example.com/app:latest
        ports:
        - containerPort: 8080

Ключевые команды oc:

oc login <cluster-url>          # Аутентификация
oc new-project my-project       # Создание проекта (неймспейса)
oc status                       # Просмотр состояния
oc rollout latest dc/my-app     # Запуск нового деплоя

OpenShift предоставляет готовую, более безопасную и интегрированную платформу для корпоративного контейнерного стека.