OpenShift

Korporacyjna platforma do zarządzania kontenerami oparta na Kubernetes, rozwijana przez Red Hat. Dodaje narzędzia dla deweloperów i mechanizmy bezpieczeństwa.

OpenShift to korporacyjna platforma do uruchamiania i zarządzania kontenerami, którą Red Hat zbudował na bazie Kubernetes. Mówiąc wprost: dostajesz „czystego” Kubernetesa, ale opakowanego w gotowe narzędzia dla deweloperów, zaostrzone domyślne ustawienia bezpieczeństwa, panel webowy i wsparcie producenta. Wersja komercyjna nazywa się OpenShift Container Platform (OCP), a jej darmowy, społecznościowy odpowiednik to OKD. Kubernetes wciąż siedzi pod spodem i robi swoje — OpenShift dokłada do niego to, czego goły K8s ci nie da od ręki.

Jak to działa i do czego służy

OpenShift bierze surowy klaster Kubernetes i dodaje warstwy, które w produkcji i tak musiałbyś sobie sam zmontować. Masz wbudowany rejestr obrazów, system Routes do wystawiania aplikacji na świat (odpowiednik Ingress, tylko prostszy w obsłudze), zintegrowane logowanie i monitoring oraz mechanizm Operatorów do automatycznego zarządzania cyklem życia aplikacji.

Dla dewelopera kluczowa jest funkcja Source-to-Image (S2I): wskazujesz repozytorium z kodem, a OpenShift sam buduje z niego obraz kontenera i go wdraża — bez ręcznego pisania Dockerfile. Całość obsługujesz przez konsolę webową albo przez własne CLI oc, które jest nakładką na znane kubectl.

Przykład z praktyki

Logujesz się do klastra i odpalasz aplikację z kodu jednym poleceniem:

  • oc login https://api.twoj-klaster:6443 — logowanie do klastra,
  • oc new-project sklep — tworzysz projekt (czyli namespace z dodatkami),
  • oc new-app python:3.11~https://github.com/firma/sklep.git — S2I buduje obraz z repo i wdraża,
  • oc expose service/sklep — tworzy Route i aplikacja jest dostępna pod publicznym URL.

Cztery komendy i działająca aplikacja w sieci. Na gołym Kubernetesie zajęłoby to kilka plików YAML i sporo klikania.

Częste błędy i mity

Najczęstsza wtopa juniora: kontener, który chodzi lokalnie w Dockerze, na OpenShifcie wywala się z błędem uprawnień. Powód to Security Context Constraints (SCC) — domyślnie OpenShift uruchamia kontenery jako losowy, nie-rootowy użytkownik. Obraz, który zakłada, że jest root, po prostu nie ruszy. To nie bug, to feature bezpieczeństwa.

Mit drugi: „OpenShift to coś innego niż Kubernetes”. Nie — to certyfikowana dystrybucja Kubernetes. Twoje manifesty kubectl tu zadziałają, a oc dorzuca tylko ekstra polecenia.

Pojęcia powiązane

Warto znać: Kubernetes, kontenery i Docker, Operator Framework, Helm, S2I, Routes oraz CI/CD (np. OpenShift Pipelines oparte na Tekton).