Pojďme se v článku seznámit s použitím Red Hat OpenShift Local na reálném use-case. Zároveň si odpovíme na otázku, zda jeho použití naplňuje prvky antického dramatu.
🎭 Expozice: Když zákazník potřebuje Vault
Dostal jsem zadání pomoci s nasazením HashiCorp Vault do Red Hat OpenShift clusterů u zákazníka. Cílem bylo vytvořit autonomní nasazení Vaultu, který se po startu automaticky „unsealne“ pomocí transitního secret engine (centrální Vault instance).
Vault měl fungovat:
-
stabilně,
-
odolně vůči výpadkům,
-
a bez zásahu administrátora.
Protože zákazník provozuje vícero prostředí, bylo potřeba celé nasazení zautomatizovat. Použité technologie zahrnovaly:
-
HashiCorp Vault (centrální i lokální instance),
-
Red Hat OpenShift jako kontejnerová platforma,
-
Ansible (automatizace),
-
Helm (správa deploymentu pomocí Helm Charts),
-
Git (správa kódu).
Zní to jednoduše, ale znáte to… korporát.
💥 Kolize a krize: Když vstoupí do hry realita
Možná po přečtení předchozích řádků přemýšlíte, jaká krize mohla nastat, protože všehny požadované nástroje lze považovat za standartní.
Ďábel se samozřejmě skrývá v korporátním detailu. Chceme to ideálně hned a zřídit přístupová oprávnění chvíli trvá (zas tak dlouho to netrvalo). A pak přichází na řadu pracovní nástroje, jako je Citrix pro vzdálený přístup a Windowsy, které prostě ten terminál nemají tak dobrý, jako má normální Linux nebo Mac.
🔄 Peripetie: OpenShift Local na scéně
V jednom z předchozích článků https://blog.elos.navy/vyplouvame-na-prvni-cestu-s-kontejnery popisoval Lukáš různé přístupy k práci s kontejnery a možnosti, jak si vyzkoušet platformu Red Hat OpenShift.
A právě tady přichází na scénu Red Hat OpenShift Local – nová podoba nástroje dříve známého jako CodeReady Containers, který Lukáš v článku zmiňoval. K jeho spuštění se i nadále používá utilita crc
.
Red Hat OpenShift Local jak už název napovídá, umožňuje nasazení jednonodového OpenShift clusteru přímo na vývojářskou stanici.
Stačí mít účet na developers.redhat.com, odkud si můžete OpenShift Local stáhnout a zároveň získat přístup k dalším Red Hat produktům pro osobní a testovací použití.
Hardwarové požadavky dnes splňuje většina běžných notebooků či počítačů – konkrétně je potřeba alespoň 4 CPU jádra, 10,5 GB RAM a 36 GB volného místa na disku.
OpenShift Local lze navíc integrovat s Podman Desktop, což usnadňuje jeho správu a ovládání v lokálním prostředí.
Pak už stačilo jen nainstalovat potřebné nástroje na můj Apple MacBook Pro M1 a provést základní konfiguraci:
-
Red Hat OpenShift Local - cílové testovací prostředí pro nasazení Vaultu
-
Vault - nainstalovaný pomocí HomeBrew, sloužící jako transitní Secret Engine
-
Ansible - včetně potřebných knihoven, aby odpovídal prostředí klienta
-
VSCodium - editor pro pohodlnou práci se zdrojovým kódem
-
Git - klasika pro správu verzí a repozitářů
Instalace a konfigurace Red Hat OpenShift Local proběhla bez komplikací - stačilo spustit několik příkazů podle oficiální dokumentace.
Z hlediska konkrétního use-casu bylo klíčové zajistit přístup k centrální instanci Vaultu. To vyžadovalo jen jednoduchou úpravu konfigurace, konkrétně povolení přístupu k síti hostitelského systému pomocí příkazu: crc config set host-network-access true
✅ Katarze: Realizace bez katastrofy
Samotná implementace use-casu probíhala v několika fázích:
-
Příprava prostředí OpenShift clusteru (vytvoření projektu a nezbytných prerekvizit)
-
Generování a parametrizace Vault Helm Chartu pro konkrétní cluster
-
Nasazení Vaultu pomocí Helm
-
Post-instalační konfigurace Vaultu pro autonomní provoz bez zásahu administrátora
Celý instalační proces jsem realizoval pomocí Ansible playbooků a rolí verzovaných v Gitu.
A výsledek?
Žádná katastrofa se nekonala. Naopak - OpenShift Local se ukázal jako praktický a efektivní nástroj, který skvěle poslouží v rámci vývojového workflow, zejména při testování automatizace správy kontejnerových prostředí.
Zdroje
https://developers.redhat.com/products/openshift-local/overview - stránky produktu RedHat OpenShift Local
https://crc.dev/docs/introducing/ - dokumentace pro práci s utilitou CRC
https://github.com/crc-org/crc - repozitář zdrojového kódu a dokumentace CRC