Späť na blog

Inštalácia softvéru na Kubernetes pomocou správcu balíkov Helm 3 v systéme Windows

Inštalácia softvéru na Kubernetes pomocou správcu balíkov Helm 3 v systéme Windows

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:

Docker Desktop Kubernetes with Helm

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

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

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:

Ak uvidíte nasledujúci výstup, môžete pokračovať:

kubectl Kubernetes with Helm

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:

  1. Na stránke GitHub si stiahnite binárne súbory Helm pre Windows.

  2. Po dokončení sťahovania nájdete zazipovaný archív vo svojom priečinku Stiahnuté súbory alebo tam, kde ste ho stiahli.

  3. 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:
    helm_binary

  4. Skopírujte umiestnenie priečinka a pridajte ho do premennej PATH v systémových premenných prostredia.

  5. Po dokončení otvorte terminál a zadajte nasledujúci príkaz:

Ak uvidíte nasledujúci výstup, inštalácia nástroja Helm je dokončená. Potom môžete prejsť na ďalšie kroky:

helm

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:

  1. Najprv prejdite na https://artifacthub.io.

  2. Ď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:
    search_mongodb

  3. 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:
    select_mongodb

  4. 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ň:
    mongodb_install Kubernetes with Helm

  5. 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:

Uvidíte nasledujúci výstup:

repo_add_bitnami

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:

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:

  • 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:

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:

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:

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:

Získate nasledujúcu štruktúru:

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ť:
override

  • 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:
service_name

  • Inštalácia chartu

Nakoniec, pre inštaláciu chartu spustite nasledujúci príkaz:

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:

  1. 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.

  2. 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.

  3. 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:

Príjemnú prácu!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.