Zpět na blog

Instalace softwaru na Kubernetes pomocí správce balíčků Helm 3 ve Windows

Instalace softwaru na Kubernetes pomocí správce balíčků Helm 3 ve Windows

Pokud pocházíte z vývojářského prostředí, pravděpodobně znáte pojem správce balíčků (Package Manager). Správci balíčků vám umožňují instalovat závislosti, upgradovat a downgradovat verze a tak dále. V tomto návodu se podíváme na velmi populárního správce balíčků pro Kubernetes, který se nazývá Helm.

Helm pomáhá se správou aplikací v Kubernetes. Pomocí nástroje Helm můžete definovat aplikaci pro Kubernetes, specifikovat její metadata, závislosti a konfigurace. Helm také dokáže aplikace do Kubernetes instalovat, stejně jako provádět jejich upgrade a downgrade. Nakonec můžete svou aplikaci sdílet s ostatními pomocí souboru Helm. V tomto návodu vám ukážeme, jak nainstalovat Helm 3 a jak nastavit, upgradovat, vrátit zpět (rollback) a spravovat charty a releasy v operačním systému Windows.

Pojďme na to!

Požadavky

Než začneme s návodem, musíte se nejprve ujistit, že máte nainstalováno následující:

  • Pokud nemáte Kubernetes ve Windows nastavené, nejjednodušší způsob, jak začít, je použít Docker Desktop. Přejděte na https://www.docker.com/products/docker-desktop. Stáhněte a nainstalujte Docker Desktop. V tomto návodu budeme pracovat se systémem Windows. Proto budeme muset nainstalovat WSL 2 Backend. Jedná se o subsystém Linuxu pro Windows, který umožňuje podporu pro Docker:

Docker Desktop Kubernetes with Helm

Jakmile je Docker Desktop připraven, přejděte do Settings -> Kubernetes a zaškrtněte možnost Enable Kubernetes:

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

Chcete-li zkontrolovat, zda vše funguje správně, přejděte do terminálu nebo PowerShellu (podle toho, co používáte) a zadejte následující příkaz:

Pokud uvidíte níže uvedený výstup, můžete pokračovat:

kubectl Kubernetes with Helm

Případně, pokud se rozhodnete pracovat na Ubuntu, můžete postupovat podle našeho podrobného návodu: Jak nainstalovat a používat Kubernetes na Ubuntu 20.04.

Kromě toho se před zahájením samotné instalace podívejme na některé klíčové pojmy, které jsou s nástrojem Helm spojeny.

  • Charty

 YAML soubory pro Kubernetes jsou zabaleny v Helm chartech.

  • Repozitáře Helm

Helm poskytuje podporu pro repozitáře. Repozitář Helm je místo, kde jsou uloženy Helm charty, aby je mohli používat ostatní. Helm vám umožňuje vytvářet vlastní repozitáře a také podporuje repozitáře třetích stran.

  • Tiller

Tiller je serverová komponenta nástroje Helm. Musí být nainstalována v clusteru Kubernetes. Vezme Helm chart a podle něj nakonfiguruje cluster.

Můžete se také podívat na náš příspěvek na blogu, který poskytuje podrobný přehled o nástroji Helm a vysvětluje metody, jakými Helm zjednodušuje nasazování aplikací do Kubernetes.

Nyní jsme připraveni začít!

Krok 1: Instalace Helm 3

Instalace Helm 3 je jednoduchý proces. Vydané verze (releases) jsou k dispozici na stránce Helm na GitHubu. Můžete si stáhnout verzi, kterou budete používat, na základě vámi zvoleného operačního systému. V tomto návodu budeme používat operační systém Windows, takže pro Windows postupujte podle následujících kroků:

  1. Na stránce GitHub stáhněte binární soubory Helm pro Windows.

  2. Po dokončení stahování najdete zazipovaný archiv ve složce Stažené soubory nebo kdekoli jinde, kam jste jej stáhli.

  3. Dále přesuňte tento archiv na vhodné místo a rozbalte jej. Měli byste najít helm.exe v rozbaleném obsahu:
    helm_binary

  4. Zkopírujte umístění složky a přidejte jej do proměnné PATH v systémových proměnných prostředí.

  5. Jakmile skončíte, otevřete terminál a zadejte následující příkaz:

Pokud uvidíte níže uvedený výstup, máte instalaci Helm úspěšně za sebou. Poté můžete přejít k dalším krokům:

helm

Krok 2: Nastavení repozitářů a instalace Helm chartu

Helm podporuje přístup k repozitářům a jejich správu. Repozitáře jsou místa, kde jsou uloženy Helm charty. Zpočátku Helm nemá svůj vlastní repozitář. Místo toho Helm vybízí manažery a specialisty na DevOps, aby vytvářeli své vlastní repozitáře. To znamená, že pokud chcete mít MongoDB ve svém clusteru Kubernetes, budete jej muset do repozitáře Helm přidat sami. K vyhledání repozitářů můžete použít Artifact.io. Je to open-source katalog pro všechny Helm charty, který spravuje CNCF.

Níže vám ukážeme, jak nastavit repozitář a stáhnout a nainstalovat software. Jako příklad si vezmeme instalaci MongoDB. Předpokládejme, že chcete nainstalovat MongoDB na svůj Kubernetes cluster. Pro instalaci postupujte podle následujících kroků:

  1. Nejprve přejděte na https://artifacthub.io.

  2. Dále vyhledejte MongoDB. Po vyhledání uvidíte, že je k dispozici mnoho možností. Ta, která nás zajímá, je MongoDB by Bitnami:
    search_mongodb

  3. Po dokončení vyhledávání uvidíte různé možnosti. U každého chartu vidíte vydavatele, verzi a další relevantní informace. Jakmile najdete požadovaný chart, musíte jej vybrat. Zde klikáme na MongoDB by Bitnami:
    select_mongodb

  4. Nyní může skutečně začít technická část. Pokud se podíváte na celkový popis, uvidíte, že je zde k dispozici dobrý návod pro každého, kdo si přeje nainstalovat kteroukoli ze služeb. Můžete se podívat na různé možnosti, konfigurace, parametry, jak smazat chart a cokoli dalšího, o čem byste mohli potřebovat informace. Najděte tlačítko Install a klikněte na něj:
    mongodb_install Kubernetes with Helm

  5. Zde je vše, co potřebujete k instalaci MongoDB. Nejprve musíte přidat repozitář a poté nainstalovat chart. Chcete-li přidat repozitář, otevřete terminál a zadejte příkaz:

Uvidíte následující výstup:

repo_add_bitnami

Nyní, když máte repozitář nastavený, musíte nainstalovat chart. Zkopírujte příkaz z dialogového okna a poté jej spusťte:

Jakmile proces skončí, máte MongoDB připravené.

Krok 3: Správa releasů

Ve vývoji softwaru je správa releasů zásadní. Vždy nastanou chvíle, kdy potřebujete provést aktualizaci nebo se vrátit k předchozím verzím. Správa releasů v Helmu je naštěstí relativně přímočarý proces. Helm uchovává čísla verzí, takže se můžete vždy vrátit k předchozí verzi. Podobně předpokládejme, že je vaše aplikace nasazená a spuštěná a vy potřebujete provést konfiguraci – Helm to také podporuje. Níže si projdeme několik osvědčených postupů, které vám pomohou tyto operace provést.

  • Jak aktualizovat aplikaci

Předpokládejme, že ve vašem souboru values.YAML uvedete, že potřebujete mít spuštěné dvě instance aplikace. Může to být proto, že vaše aplikace musí být vysoce dostupná. Později si ale uvědomíte, že aplikace potřebuje mít tři instance. Bez Helmu byste museli aplikaci nejprve ukončit, poté nakonfigurovat a znovu nasadit. Pomocí Helmu můžete nejprve provést změny v souboru values.YAML a poté stačí spustit níže uvedený příkaz. V adresáři, kde se nacházejí soubory Helm, spusťte následující příkaz:

  • Jak vrátit release zpět

Nyní předpokládejme, že se váš release rozbije. Možná jste nakonfigurovali špatná čísla portů nebo cesty. Chcete-li se vrátit k jakékoli předchozí verzi, stačí spustit níže uvedenou verzi a Helm pak vrátí release na předchozí verzi:

Helm se postará o všechny releasy a verzování. To je jedna z největších výhod používání Helmu s Kubernetes. Chcete-li zobrazit všechny releasy jakékoli aplikace, spusťte v adresáři obsahujícím Helm charty a soubory YAML následující příkaz:

Krok 4: Vytvoření vlastního chartu

Nakonec, když už jste se s Helmem sžili a rozumíte tomu, jak funguje, je čas vytvořit si vlastní chart. Vytvořením vlastního vlastního chartu můžete svou aplikaci snadno distribuovat a také ji hostovat v jakémkoli repozitáři. Vytvoření chartu je poměrně jednoduchý proces, pokud budete postupovat podle kroků, které popíšeme níže. Nejprve otevřete terminál a spusťte níže uvedený příkaz:

Tím se vytvoří adresář s názvem, který jste zadali. Používáme název my-app. Podívejme se na obsah složky:

Získáte následující strukturu:

Zde je přehled obsahu ve výstupu:

  • složka charts – Používá se pro přidání závislých chartů.
  • složka templates – Konfigurace, která bude nasazena v clusteru.
  • Soubor YAML – Náčrt struktury Helm chartu.
  • Soubor YAML – Informace o formátování pro konfiguraci chartu.

Dále postupujte podle následujících kroků pro instalaci a konfiguraci vašeho chartu:

  • Konfigurace obrazu (image) a stahování (pull)

Otevřete values.YAML soubor. Zde najděte uzel image. Poté jej můžete nakonfigurovat podle svého přání. Možné hodnoty jsou IfNotPresent, Always, Latest. Kompletní sadu hodnot naleznete v oficiální dokumentaci.

  • Přepsat název chartu

Tento krok je volitelný, takže jej můžete v případě zájmu přeskočit:
override

  • Název služby

Otevřete values.YAML soubor a najděte serviceName. Poté přidejte požadovaný název. Je dobré mít název připravený před instalací chartu:
service_name

  • Instalace chartu

Nakonec pro instalaci chartu spusťte níže uvedený příkaz:

Doporučujeme vám pečlivě prozkoumat všechny dostupné možnosti konfigurace vašeho chartu před jeho nasazením do clusteru.

Proč vývojáři milují Helm

Helm si získává oblibu u vývojářů a specialistů na DevOps, kteří musí občas spouštět a zastavovat nasazení. Zde jsou některé z hlavních výhod Helmu:

  1. Helm zjednodušuje proces nasazení. Nepřináší nic nového k učení, spíše umožňuje uživateli snadno konfigurovat stávající YAML nasazení.

  2. Namísto častých změn konfigurace, jako je počet clusterů nebo portů, Helm umožňuje snadnou konfiguraci. Uživateli stačí pouze aktualizovat hodnoty v values.YAML souboru.

  3. Helm umožňuje sdílet aplikaci s ostatními uživateli tím, že ji zabalí do repozitářů.

Závěr

V tomto návodu jsme si prošli, jak od základu nastavit správce balíčků Helm ve Windows. Podívali jsme se na různé klíčové koncepty, které je třeba jasně pochopit, abyste mohli využít sílu Helmu. Viděli jsme také různé funkce dostupné v prozkoumaných repozitářích Helm. Nyní byste se měli s Helmem cítit jako doma a implementovat jej ve svém příštím projektu/nasazení v Kubernetes.

Chcete-li si dále rozšířit své znalosti o Kubernetes a jeho funkcích, můžete se podívat na další návody na našem blogu:

Příjemnou práci!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.