Ak prichádzate z vývojárskeho prostredia, pravdepodobne poznáte pojem správca balíkov (Package Manager). Správcovia balíkov vám umožňujú inštalovať závislosti, aktualizovať a prechádzať na staršie verzie a podobne. V tomto návode sa pozrieme na veľmi populárneho správcu balíkov pre Kubernetes, nazývaného Helm.
Helm pomáha pri správe aplikácií Kubernetes. Pomocou nástroja Helm môžete definovať aplikáciu Kubernetes, špecifikovať metadáta aplikácie, závislosti a konfigurácie. Helm dokáže tiež inštalovať aplikácie v Kubernetes, ako aj aktualizovať a prechádzať na staršie verzie aplikácií. Nakoniec môžete svoju aplikáciu zdieľať s ostatnými pomocou súboru Helm. V tomto návode vám ukážeme, ako nainštalovať Helm 3, ako aj nastaviť, aktualizovať, vrátiť späť (rollback) a spravovať charty a vydania (releases) v systéme Windows OS.
Začnime!
Požiadavky
Predtým, ako začneme s návodom, musíte sa uistiť, že máte najprv nainštalované nasledujúce položky:
-
Ak nemáte nastavený Kubernetes v systéme Windows, najjednoduchší spôsob, ako začať, je použiť Docker Desktop. Prejdite na https://www.docker.com/products/docker-desktop. Stiahnite si a nainštalujte Docker Desktop. V tomto návode budeme pracovať so systémom Windows. Preto budeme musieť nainštalovať WSL 2 Backend. Ide o subsystém Linuxu pre Windows, ktorý umožňuje podporu pre Docker:

Akonáhle je Docker Desktop pripravený, prejdite na Settings -> Kubernetes, a začiarknite možnosť Enable Kubernetes:


Ak chcete skontrolovať, či všetko funguje správne, prejdite do terminálu/powershellu podľa toho, aký systém používate, a zadajte nasledujúci príkaz:
|
1 |
kubectl |
Ak uvidíte nasledujúci výstup, môžete pokračovať:

Prípadne, ak sa rozhodnete pracovať na Ubuntu, môžete postupovať podľa nášho podrobného návodu: How to Install and Use Kubernetes on Ubuntu 20.04.
Okrem toho sa pred začatím inštalačného procesu pozrime na niektoré kľúčové pojmy, ktoré sú spojené s nástrojom Helm.
-
Charty
YAML súbory Kubernetes sú zabalené v Helm chartoch.
-
Repozitáre Helm
Helm poskytuje podporu pre repozitáre. Repozitár Helm je miesto, kde sú uložené Helm charty, aby ich mohli používať ostatní. Helm vám umožňuje vytvárať vlastné repozitáre, ako aj podporovať repozitáre tretích strán.
-
Tiller
Tiller je serverový komponent nástroja Helm. Musí byť nainštalovaný v klastri Kubernetes. Vezme Helm chart a podľa toho nakonfiguruje klaster.
Môžete sa tiež pozrieť na náš blogový príspevok, ktorý poskytuje podrobný prehľad o nástroji Helm a vysvetľuje metódy, ktorými Helm zjednodušuje nasadzovanie aplikácií do Kubernetes.
Teraz sme pripravení začať!
Krok 1: Inštalácia Helm 3
Inštalácia Helm 3 je jednoduchý proces. Vydania sú k dispozícii na stránke Helm na GitHube. Môžete si stiahnuť vydanie, ktoré budete používať, na základe vami zvoleného operačného systému. V tomto návode budeme používať operačný systém Windows, takže pre Windows postupujte podľa nasledujúcich krokov:
-
Na stránke GitHub si stiahnite binárne súbory Helm pre Windows.
-
Po dokončení sťahovania nájdete zazipovaný archív vo svojom priečinku Stiahnuté súbory alebo tam, kde ste ho stiahli.
-
Potom presuňte tento archív na vhodné miesto a rozbaľte ho. Mali by ste nájsť helm.exe súbor v rozbalenom obsahu:

-
Skopírujte umiestnenie priečinka a pridajte ho do premennej PATH v systémových premenných prostredia.
-
Po dokončení otvorte terminál a zadajte nasledujúci príkaz:
|
1 |
helm |
Ak uvidíte nasledujúci výstup, inštalácia nástroja Helm je dokončená. Potom môžete prejsť na ďalšie kroky:

Krok 2: Nastavenie repozitárov a inštalácia Helm chartu
Helm podporuje prístup k repozitárom a ich správu. Repozitáre sú miesta, kde sú uložené Helm charty. Na začiatku Helm nemá vlastný repozitár. Namiesto toho Helm povzbudzuje manažérov a DevOps špecialistov, aby vytvárali vlastné repozitáre. To znamená, že ak chcete mať MongoDB vo svojom klastri Kubernetes, budete ho musieť sami pridať do repozitára Helm. Na uľahčenie hľadania repozitárov môžete použiť Artifact.io. Je to open-source katalóg pre všetky Helm charty, ktorý spravuje CNCF.
Nižšie vám ukážeme, ako nastaviť repozitár a stiahnuť a nainštalovať softvér. Ako príklad si vezmeme inštaláciu MongoDB. Predpokladajme, že chcete nainštalovať MongoDB na váš Kubernetes cluster. Pre inštaláciu postupujte podľa nasledujúcich krokov:
-
Najprv prejdite na https://artifacthub.io.
-
Ďalej vyhľadajte MongoDB. Po vyhľadaní uvidíte, že je k dispozícii mnoho možností. Tá, ktorá nás zaujíma, je MongoDB by Bitnami:

-
Po skončení vyhľadávania uvidíte rôzne možnosti. Pri každom charte môžete vidieť vydavateľa, verziu a ďalšie relevantné informácie. Keď nájdete požadovaný chart, musíte ho vybrať. Tu klikáme na MongoDB by Bitnami:

-
Teraz môže skutočne začať technická časť. Ak sa pozriete na celkový popis, uvidíte, že je k dispozícii dobrý návod pre každého, kto si želá nainštalovať ktorúkoľvek zo služieb. Môžete si pozrieť rôzne možnosti, konfigurácie, parametre, ako vymazať chart a čokoľvek iné, o čom by ste mohli potrebovať informácie. Nájdite tlačidlo Install a kliknite naň:

-
Tu je všetko, čo potrebujete na inštaláciu MongoDB. Najprv musíte pridať repozitár a potom nainštalovať chart. Ak chcete pridať repozitár, otvorte terminál a zadajte príkaz:
|
1 |
helm repo add bitnami https://charts.bitnami.com/bitnami |
Uvidíte nasledujúci výstup:

Teraz, keď máte nastavený repozitár, musíte nainštalovať chart. Skopírujte príkaz z dialógového okna a potom ho spustite:
|
1 |
helm install my-mongodb bitnami/mongodb --version 10.23.10 |
Po dokončení procesu máte MongoDB pripravené.
Krok 3: Správa releasov
Vo vývoji softvéru je správa releasov životne dôležitá. Vždy nastanú chvíle, keď potrebujete aktualizovať alebo sa vrátiť k predchádzajúcim verziám. Našťastie je správa releasov v Helm relatívne jednoduchý proces. Helm uchováva čísla verzií, takže sa môžete kedykoľvek vrátiť k predchádzajúcej verzii. Podobne predpokladajme, že vaša aplikácia je nasadená a spustená a potrebujete vykonať konfigurácie – Helm to podporuje tiež. Nižšie si prejdeme niekoľko osvedčených postupov, ktoré vám pomôžu tieto operácie vykonať.
-
Ako aktualizovať aplikáciu
Predpokladajme, že vo vašom súbore values.YAML uvádzate, že potrebujete mať spustené dve inštancie aplikácie. Môže to byť preto, že vaša aplikácia musí byť vysoko dostupná. Neskôr si však uvedomíte, že aplikácia musí mať tri inštancie. Bez Helmu budete musieť aplikáciu najprv odstaviť, potom nakonfigurovať a znova nasadiť. Pomocou Helmu môžete najprv vykonať zmeny v súbore values.YAML a potom stačí spustiť nižšie uvedený príkaz. V adresári, kde sa nachádzajú súbory Helm, spustite nasledujúci príkaz:
|
1 |
helm upgrade <app-name> |
-
Ako vrátiť release späť
Teraz predpokladajme, že sa váš release pokazí. Možno ste nakonfigurovali nesprávne čísla portov alebo cesty. Ak chcete vrátiť release na akúkoľvek predchádzajúcu verziu, stačí spustiť nižšie uvedený príkaz a Helm vráti release na predchádzajúcu verziu:
|
1 |
C:\> helm rollback <release> |
Helm sa postará o všetky releasy a verziovanie. Toto je jedna z najväčších výhod používania Helmu s Kubernetes. Ak chcete zobraziť všetky releasy akejkoľvek aplikácie, spustite nižšie uvedený príkaz v adresári obsahujúcom Helm charty a YAML súbory:
|
1 |
helm history RELEASE |
Krok 4: Vytvorte si vlastný chart
Na záver, keď už viete pracovať s Helmom a rozumiete tomu, ako funguje, je čas vytvoriť si vlastný chart. Vytvorením vlastného prispôsobeného chartu môžete svoju aplikáciu jednoducho distribuovať, ako aj hostovať v akomkoľvek repozitári. Vytvorenie chartu je pomerne jednoduchý proces, ak budete postupovať podľa krokov, ktoré uvádzame nižšie. Najprv otvorte terminál a spustite nižšie uvedený príkaz:
|
1 |
helm create <chart-name> |
Tým sa vytvorí adresár s názvom, ktorý ste zadali. My používame názov my-app. Pozrime sa na obsah priečinka:
|
1 2 |
cd my-app ls |
Získate nasledujúcu štruktúru:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
charts/ templates/ ├─ tests/ │ ├─ test-connection.yaml ├─ deployment.yaml ├─ hpa.yaml ├─ ingress.yaml ├─ NOTES.txt ├─ service.yaml ├─ serviceaccount.yaml ├─ _helpers.tpl ├─ .helmignore ├─ Chart.yaml ├─ values.yaml |
Tu je prehľad obsahu vo výstupe:
- priečinok charts – Používa sa na pridávanie závislých chartov.
- priečinok templates – Konfigurácia, ktorá bude nasadená v klastri.
- Súbor YAML – Náčrt štruktúry Helm chartu.
- Súbor YAML – Informácie o formátovaní pre konfiguráciu chartu.
Ďalej postupujte podľa nasledujúcich krokov na inštaláciu a konfiguráciu vášho chartu:
-
Konfigurácia obrazu (image) a sťahovania (pull)
Otvorte values.YAML súbor. Tu nájdite uzol image. Potom ho môžete nakonfigurovať podľa svojich predstáv. Možné hodnoty sú IfNotPresent, Always, Latest. Kompletnú sadu hodnôt nájdete v oficiálnej dokumentácii.
-
Prepísanie názvu chartu
Tento krok je voliteľný, takže ho môžete v prípade záujmu preskočiť:

-
Názov služby
Otvorte
values.YAML súbor a vyhľadajte
serviceName. Potom pridajte požadovaný názov. Je dobré mať názov pripravený pred inštaláciou chartu:

-
Inštalácia chartu
Nakoniec, pre inštaláciu chartu spustite nasledujúci príkaz:
|
1 |
helm install <full name override> <chart name>/ --values <chart name>/values.yaml |
Odporúčame vám dôkladne preskúmať všetky dostupné možnosti konfigurácie vášho chartu pred jeho nasadením do klastra.
Prečo vývojári milujú Helm
Helm si získava popularitu medzi vývojármi a špecialistami na DevOps, ktorí musia občas spúšťať a zastavovať nasadenia. Tu sú niektoré z hlavných výhod nástroja Helm:
-
Helm zjednodušuje proces nasadenia. Neprináša nič nové na učenie, skôr umožňuje používateľovi jednoducho konfigurovať existujúce YAML nasadenia.
-
Namiesto častej zmeny konfigurácie, ako je počet klastrov alebo portov, Helm umožňuje jednoduchú konfiguráciu. Používateľovi stačí aktualizovať hodnoty v values.YAML súbore.
-
Helm umožňuje zdieľanie aplikácie s ostatnými používateľmi jej zabalením do repozitárov.
Záver
V tomto návode sme si prešli, ako nastaviť správcu balíkov Helm od nuly na systéme Windows. Pozreli sme sa na rôzne kľúčové koncepty, ktoré je potrebné jasne pochopiť, aby ste mohli využiť silu nástroja Helm. Videli sme tiež rôzne funkcie dostupné v rámci preskúmaných repozitárov Helm. Teraz by ste sa mali s nástrojom Helm cítiť ako doma a implementovať ho vo svojom ďalšom projekte/nasadení Kubernetes.
Ak chcete ďalej rozšíriť svoje znalosti o Kubernetes a jeho funkciách, môžete si pozrieť ďalšie návody na našom blogu:
- Spoznávame Kubernetes
- Ako vytvoriť Kubernetes klaster pomocou Kubeadm na Ubuntu 18.04
- Nasadenie PHP aplikácie na Kubernetes klaster s Ubuntu 18.04
Príjemnú prácu!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.