Základy Helmu

Dokončeno

Při nasazování, správě verzí a aktualizaci aplikací je potřeba zajistit, abyste měli správné verze softwarových knihoven a konfigurací, aby aplikace fungovala podle očekávání.

Řekněme, že se váš vývojový tým rozhodne nasadit web společnosti pro obchod s domácími mazlíčky do Kubernetes. V rámci procesu tým vytvoří soubory YAML pro nasazení, službu a příchozí přenos dat. Pevně zakódujete a udržujete informace v každém souboru pro každé cílové prostředí ručně. Údržba tří souborů pro každé prostředí je ale těžkopádná a zvyšuje se složitost při růstu aplikace.

A diagram that shows a container deployed to a Kubernetes node using a deployment, a service, and an ingress YAML file.

Pomocí nástroje Helm můžete zjednodušit proces nasazení aplikace a vyhnout se pevně zakódovaným proměnným a nastavením nasazení.

Co je Helm?

Helm je správce balíčků pro Kubernetes, který kombinuje všechny prostředky aplikace a informace nasazení do jednoho balíčku pro nasazení.

A diagram shows a containerized app deployed to a Kubernetes cluster using a Helm chart.

Helm si můžete představit podobně jako Správce balíčků systému Windows ve Windows, nástroj Advanced Package Tool (apt) v Linuxu nebo Homebrew v systému macOS. Určíte název aplikace, kterou chcete nainstalovat, aktualizovat nebo odebrat, a nástroj Helm se o tento proces postará.

S Helmem nejste omezeni na instalaci jedné aplikace najednou. Pro správu nasazení aplikace umožňuje Helm vytvoření uživatelsky čitelných souborů skriptu YAML založených na šabloně. Tyto soubory šablon umožňují určit všechny požadované závislosti, mapování konfigurace a tajné klíče používané k úspěšné správě nasazení aplikace.

Helm používá ke správě nasazení aplikací v clusteru Kubernetes čtyři komponenty:

  • Klient Helm
  • Charty Helm
  • Verze Helm
  • Úložiště Helm

Co je klient Helm?

Klient Helm je binární soubor nainstalovaný klientem zodpovědným za vytvoření a odeslání souborů manifestu potřebných k nasazení aplikace Kubernetes. Klient zodpovídá za interakci mezi uživatelem a clusterem Kubernetes.

A diagram shows the communication between three Helm components to create a Helm release; the client, chart, and repository.

Klient Helm je dostupný pro všechny hlavní operační systémy a instaluje se na váš klientský počítač. V Azure je klient Helm předinstalovaný v Cloud Shellu a podporuje všechny funkce zabezpečení, identity a autorizace Kubernetes.

Poznámka:

Tento modul předpokládá použití Helmu v3. Spuštěním příkazu helm version můžete ověřit verzi nástroje Helm ve vašem klientském zařízení. Pokud používáte Helm v2, mějte na paměti, že některé parametry příkazů v tomto modulu se budou lišit.

Co je chart Helm?

Chart Helm je šablona balíčku pro nasazení, který popisuje související sadu prostředků Kubernetes. Obsahuje všechny informace potřebné k sestavení a nasazení souborů manifestu, aby aplikace mohla být spuštěna v clusteru Kubernetes.

Chart Helm se skládá z několika souborů a složek pro popis chartu. Některé komponenty jsou povinné a některé jsou volitelné. Co se rozhodnete zahrnout, záleží na požadavcích konfigurace aplikace.

Následující seznam popisuje součásti souboru a složky chartu Helm s požadovanými položkami tučným písmem:

Soubor/složka Popis
Chart.yaml Soubor YAML obsahující informace o chartu
values.yaml Výchozí hodnoty konfigurace chartu
templates/ Složka obsahující šablony nasazení chartu
LICENSE Soubor s prostým textem obsahující licenci chartu
README.md Soubor Markdown obsahující pokyny pro používání chartu
values.schema.json** Soubor schématu pro použití struktury v souboru values.yaml
charts/ Složka obsahující všechny dílčí charty hlavního chartu
crds/ Definice vlastních prostředků
templates/Notes.txt Textový soubor, který obsahuje poznámky k použití šablony.

Co je verze Helm?

Verze Helm je aplikace nebo skupina aplikací nasazených pomocí grafu. Při každé instalaci chartu se v clusteru vytvoří nová instance aplikace. Každá instance má název verze, který umožňuje pracovat s konkrétní instancí aplikace.

A diagram shows the communication between three Helm components to create a Helm release: the client, chart, and repository. The release is highlighted.

Řekněme například, že jste do clusteru Kubernetes nainstalovali dvě instance Nginx pomocí grafu. Později se rozhodnete upgradovat první instanci Nginx, druhou upgradovat nechcete. Vzhledem k tomu, že se tyto dvě verze liší, můžete upgradovat první verzi, aniž by to mělo dopad na druhou verzi.

Co je úložiště Helm?

Úložiště Helm je vyhrazený server HTTP, který ukládá informace v chartech Helm. Server hostuje soubor, který popisuje grafy a kde stáhnout každý graf.

A diagram shows the communication between three Helm components to create a Helm release: the client, chart, and repository. The repository is highlighted.

Projekt Helm hostuje řadu veřejných chartů. Existuje mnoho úložišť, ze kterých můžete charty opakovaně používat. Úložiště Helm zjednodušují zjistitelnost a opakovanou použitelnost balíčků Helm.

Výhody používání Nástroje Helm

Helm zavádí řadu výhod, které zjednodušují nasazení aplikací a zvyšují produktivitu v životním cyklu vývoje a nasazení aplikací nativních pro cloud. Díky nástroji Helm máte verze aplikací, které zajišťují:

  • Opakovatelnou
  • Spolehlivé
  • Spravovatelné v několika a složitých prostředích a
  • Opakovanou použitelnost v různých vývojových týmech

Chart Helm standardizuje nasazení aplikace pomocí logiky zabalené šablony, která je parametrizovaná nastavením vstupních hodnot. Tento návrh balíčků řízený šablonou poskytuje přístup nezávislý na prostředí při nasazování a sdílení aplikací nativních pro cloud.