Wat maakt OpenShift anders dan “gewoon” Kubernetes?
Naast dat OpenShift een gebruikersvriendelijke webconsole plus tooling (waaronder de krachtige CLI tools oc en odo) bovenop Kubernetes biedt, heeft het als onderlaag het beproefde Red Hat Enterprise Linux CoreOS, en wordt het ondersteund door de bekende Open Source softwareleverancier Red Hat, tegenwoordig onderdeel van IBM. Deze combinatie maakt het installeren, upgraden en beheren van het platform een stuk simpeler dan dat van “kaal” Kubernetes. Net zoals bij RHEL, worden upstream patches van bijvoorbeeld Kubernetes gebackport naar stabiele, beproefde releases van OpenShift.
Verschillende onderdelen (waaronder Role Based Access Control (RBAC) en Security Context Constraints (SCC)) zijn vanuit OpenShift en OKD (de openbare upstreamversie van OpenShift) in Kubernetes terecht gekomen. Ook had OpenShift al features, zoals routes en DeploymentConfigs, voordat soortgelijke functionaliteit in Kubernetes beschikbaar werd gesteld.
Verder is OpenShift al “by default” veilig ingericht. Met standaard ondersteuning voor SELinux en seccomp, Security Context Constraints, Linux Capabilities en Network Policies wordt afgedwongen dat containers niet als root mogen draaien, geen onbegrensde toegang hebben tot het filesysteem, en niet alle diensten wijd open staan richting alle netwerken of zelfs het internet. Naar wens kun je in je OpenShift installatie zelfs de FIPS standaard afdwingen, met de bijbehorende encryptiemechanismen, alle configuratiedata laten versleutelen en zelfs de CoreOS disk partities met behulp van LUKS en Network Based Disk Encryption laten beveiligen.
Door gebruik te maken van de door Red Hat ter beschikking gesteld Universal Base Images (UBI), momenteel voor zowel RHEL 7 als RHEL 8, draaien je applicaties op een veilige en ondersteunde onderlaag. Je kunt je workflow zelfs zo automatiseren dat zodra Red Hat beveilingsupdates voor UBI uitbrengt, de betreffende base-images en de daarmee gebouwde containerimages worden geüpdate.