Natrag na blog

Instalacija softvera na Kubernetesu pomoću upravitelja paketa Helm 3 na sustavu Windows

Instalacija softvera na Kubernetesu pomoću upravitelja paketa Helm 3 na sustavu Windows

Ako dolazite iz razvojnog okruženja, vjerojatno ste upoznati s pojmom upravitelja paketa (Package Manager). Upravitelji paketa omogućuju vam instalaciju ovisnosti, nadogradnju i vraćanje verzija na starije i tako dalje. U ovom vodiču bavit ćemo se vrlo popularnim upraviteljem paketa za Kubernetes, koji se zove Helm.

Helm pomaže u upravljanju Kubernetes aplikacijama. Pomoću Helma možete definirati Kubernetes aplikaciju, specificirajući metapodatke aplikacije, ovisnosti i konfiguracije. Helm također može instalirati aplikacije na Kubernetes, kao i nadograditi ih i vratiti na starije verzije. Na kraju, svoju aplikaciju možete podijeliti s drugima pomoću Helm datoteke. U ovom vodiču, pokazat ćemo vam kako instalirati Helm 3, kao i kako postaviti, nadograditi, vratiti na prethodno stanje i upravljati chartovima i izdanjima na Windows OS-u.

Započnimo!

Preduvjeti

Prije nego što započnemo s vodičem, najprije provjerite imate li instalirano sljedeće:

  • Ako nemate postavljen Kubernetes na Windowsima, najlakši način za početak je s Docker Desktopom. Idite na https://www.docker.com/products/docker-desktop. Preuzmite i instalirajte Docker Desktop. U ovom vodiču radit ćemo s Windowsima. Stoga ćemo morati instalirati WSL 2 Backend. To je Linux podsustav za Windows i omogućuje podršku za Docker:

Docker Desktop Kubernetes with Helm

Nakon što je Docker Desktop spreman, idite na Settings -> Kubernetes, i označite opciju koja kaže Enable Kubernetes:

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

Kako biste provjerili radi li sve kako treba, idite u terminal/powershell, ovisno o tome koji sustav koristite, i upišite naredbu u nastavku:

Ako vidite izlaz u nastavku, spremni ste za rad:

kubectl Kubernetes with Helm

Alternativno, ako se odlučite za rad na Ubuntuu, možete pratiti naš detaljni vodič: Kako instalirati i koristiti Kubernetes na Ubuntu 20.04.

Osim toga, prije nego što započnemo s postupkom instalacije, pogledajmo neke ključne pojmove koji su povezani s Helmom.

  • Chartovi

 Kubernetes YAML datoteke pakirane su u Helm chartove.

  • Helm repozitoriji

Helm pruža podršku za repozitorije. Helm repozitorij je lokacija na kojoj se nalaze Helm chartovi kako bi ih drugi mogli koristiti. Helm vam omogućuje stvaranje vlastitih repozitorija, kao i podršku za repozitorije trećih strana.

  • Tiller

Tiller je serverska komponenta Helma. Potrebno ga je instalirati na Kubernetes klaster. On uzima Helm Chart i sukladno tome konfigurira klaster.

Također možete pogledati naš blog post koji daje detaljan pregled Helma i objašnjava Helm metode pojednostavljenja implementacije aplikacija na Kubernetes.

Sada smo spremni za početak!

Korak 1: Instalirajte Helm 3

Instalacija Helma 3 je jednostavan postupak. Izdanja su dostupna na Helm GitHub stranici. Možete preuzeti izdanje koje ćete koristiti na temelju odabranog operacijskog sustava. U ovom vodiču koristit ćemo Windows OS, pa za Windows slijedite korake u nastavku:

  1. Na GitHub stranici preuzmite Helm binarne datoteke za Windows.

  2. Nakon što preuzimanje završi, pronaći ćete zip arhivu u mapi Preuzimanja ili gdje god ste je preuzeli.

  3. Zatim premjestite ovu arhivu na prikladno mjesto i raspakirajte je. Trebali biste pronaći datoteku helm.exe u raspakiranom sadržaju:
    helm_binary

  4. Kopirajte lokaciju mape i dodajte je u varijablu PATH u varijablama okruženja vašeg sustava.

  5. Nakon što završite, otvorite terminal i upišite naredbu u nastavku:

Ako vidite izlaz u nastavku, sve je spremno s instalacijom Helma. Zatim možete prijeći na sljedeće korake:

helm

Korak 2: Postavljanje repozitorija i instalacija Helm charta

Helm podržava pristup i upravljanje repozitorijima. Repozitoriji su mjesta gdje se pohranjuju Helm chartovi. U početku Helm nema vlastiti repozitorij. Umjesto toga, Helm potiče upravitelje i DevOps stručnjake da izrade vlastite repozitorije. To znači da ako želite imati MongoDB na svom Kubernetes klasteru, morat ćete ga sami dodati u Helm repozitorij. Kako biste lakše pronašli repozitorije, možete koristiti Artifact.io. To je katalog otvorenog koda za sve Helm chartove, kojim upravlja CNCF.

U nastavku ćemo vam pokazati kako postaviti repozitorij te preuzeti i instalirati softver. Kao primjer uzet ćemo instalaciju MongoDB-a. Pretpostavimo da želite instalirati MongoDB na svoj Kubernetes klaster. Slijedite korake u nastavku za instalaciju:

  1. Prvo idite na https://artifacthub.io.

  2. Zatim pretražite MongoDB. Nakon što pretražite, vidjet ćete da je dostupno mnogo opcija. Ona koja nas zanima je MongoDB by Bitnami:
    search_mongodb

  3. Kada pretraga završi, vidjet ćete različite opcije. Uz svaki chart možete vidjeti izdavača, verziju i druge relevantne informacije. Nakon što pronađete željeni chart, trebate ga odabrati. Ovdje kliknemo na MongoDB by Bitnami:
    select_mongodb

  4. Sada zapravo može započeti tehnički dio. Ako pogledate cjelokupni opis, vidjet ćete da postoji dobar vodič za svakoga tko želi instalirati bilo koju od usluga. Možete provjeriti različite opcije, konfiguracije, parametre, kako izbrisati chart i sve ostalo o čemu biste mogli trebati informacije. Pronađite gumb Install i kliknite ga:
    mongodb_install Kubernetes with Helm

  5. Ovdje je sve što vam je potrebno za instalaciju MongoDB-a. Prvo morate dodati repozitorij a zatim instalirati chart. Za dodavanje repozitorija otvorite terminal i upišite naredbu:

Vidjet ćete sljedeći izlaz:

repo_add_bitnami

Sada kada ste postavili repozitorij, trebate instalirati chart. Kopirajte naredbu iz dijaloškog okvira i zatim je pokrenite:

Nakon što proces završi, sve je spremno s MongoDB-om.

Korak 3: Upravljanje izdanjima

U razvoju softvera upravljanje izdanjima je od ključne važnosti. Uvijek postoje trenuci kada trebate ažurirati ili se vratiti na prethodne verzije. Srećom, upravljanje izdanjima u Helmu relativno je jednostavan proces. Helm čuva brojeve verzija tako da se uvijek možete vratiti na prethodnu verziju. Slično tome, pretpostavimo da je vaša aplikacija implementirana i aktivna, a vi trebate napraviti konfiguracije - Helm podržava i to. U nastavku ćemo proći kroz neke najbolje prakse kako bismo vam pomogli u izvođenju ovih operacija.

  • Kako ažurirati aplikaciju

Pretpostavimo da u svojoj values.YAML datoteci navedete da trebate imati pokrenute dvije instance aplikacije. To može biti zato što vaša aplikacija mora biti visoko dostupna. Ali kasnije shvatite da aplikacija mora imati tri instance. Bez Helma, morat ćete prvo zaustaviti aplikaciju, a zatim je konfigurirati i ponovno implementirati. Koristeći Helm, možete prvo napraviti promjene u values.YAML datoteci i zatim samo izvršiti naredbu u nastavku. U svom direktoriju u kojem se nalaze Helm datoteke, izvršite sljedeću naredbu:

  • Kako vratiti izdanje na prethodnu verziju

Sada pretpostavimo da vaše izdanje ne radi. Možda ste konfigurirali pogrešne brojeve portova ili putanje. Da biste se vratili na bilo koju prethodnu verziju, sve što trebate učiniti je izvršiti naredbu u nastavku, a zatim će Helm vratiti izdanje na prethodnu verziju:

Helm će se pobrinuti za sva izdanja i verzije. Ovo je jedna od najvećih prednosti korištenja Helma s Kubernetesom. Da biste vidjeli sva izdanja bilo koje aplikacije, izvršite naredbu u nastavku u direktoriju koji sadrži Helm chartove i YAML datoteke:

Korak 4: Izradite vlastiti chart

Naposljetku, sada kada ste se upoznali s Helmom i razumijete kako radi, vrijeme je da izradite vlastiti chart. Izradom vlastitog prilagođenog charta možete jednostavno distribuirati svoju aplikaciju, kao i ugostiti je u bilo kojem repozitoriju. Izrada vašeg charta prilično je jednostavan proces ako slijedite korake koje ćemo opisati u nastavku. Prvo otvorite terminal i izvršite naredbu u nastavku:

Ovo će stvoriti direktorij s nazivom koji ste naveli. Mi koristimo naziv my-app. Pogledajmo sadržaj mape:

Dobit ćete sljedeću strukturu:

Evo sažetka sadržaja u izlazu:

  • mapa charts – Koristi se za dodavanje ovisnih grafikona.
  • mapa templates – Konfiguracija koja će biti implementirana u klasteru.
  • YAML datoteka – Nacrt strukture Helm grafikona.
  • YAML datoteka – Informacije o formatiranju za konfiguriranje grafikona.

Zatim slijedite korake u nastavku za instalaciju i konfiguraciju vašeg grafikona:

  • Konfigurirajte sliku i povlačenje

Otvorite values.YAML datoteku. Ovdje pronađite čvor slike. Zatim ga možete konfigurirati po želji. Moguće vrijednosti su IfNotPresent, Always, Latest. Kompletan skup vrijednosti možete pronaći u službenoj dokumentaciji.

  • Nadjačavanje naziva grafikona

Ovaj korak je neobavezan, pa ga možete preskočiti ako želite:
override

  • Naziv usluge

Otvorite values.YAML datoteku i pronađite serviceName. Zatim dodajte željeni naziv. Dobro je imati pripremljen naziv prije instalacije grafikona:
service_name

  • Instalirajte grafikon

Na kraju, za instalaciju grafikona pokrenite naredbu u nastavku:

Savjetujemo vam da pažljivo istražite sve dostupne opcije za konfiguraciju vašeg grafikona prije nego što ga implementirate na klaster.

Zašto programeri vole Helm

Helm stječe popularnost među programerima i DevOps stručnjacima koji povremeno moraju podizati i spuštati implementacije. Evo nekih od glavnih prednosti Helma:

  1. Helm pojednostavljuje proces implementacije. Ne donosi ništa novo za učenje, već su postojeće YAML implementacije napravljene tako da ih korisnik može lako konfigurirati.

  2. Umjesto česte promjene konfiguracije, poput broja klastera ili portova, Helm je čini lako konfigurabilnom. Sve što korisnik treba učiniti je ažurirati vrijednosti u values.YAML datoteci.

  3. Helm omogućuje dijeljenje aplikacije s drugim korisnicima pakiranjem u repozitorije.

Zaključak

U ovom smo vodiču prošli kroz to kako postaviti Helm upravitelj paketa od nule na sustavu Windows. Proučili smo različite ključne koncepte koje je potrebno jasno razumjeti kako bismo iskoristili moć Helma. Također smo vidjeli različite funkcionalnosti dostupne unutar istraženih Helm repozitorija. Sada biste se trebali osjećati ugodno s Helmom i implementirati ga u svoj sljedeći Kubernetes projekt/implementaciju.

Kako biste dodatno proširili svoje znanje o Kubernetesu i njegovim funkcionalnostima, možete pogledati više vodiča na našem blogu:

Sretno računanje!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.