Ответ
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