Späť na blog

Nasadzovanie aplikácií na Kubernetes pomocou Argo CD a GitOps

Nasadzovanie aplikácií na Kubernetes pomocou Argo CD a GitOps

Úvod

Kubernetes sa stal štandardom pre nasadzovanie veľkých aplikácií. Pomáha vývojárom získať významné výhody a ponúka funkcie, ktoré nie sú dostupné v tradičnom serverovom hostingu. Kubernetes umožňuje horizontálne škálovanie bez starostí s infraštruktúrou. Okrem toho znižuje náklady na zaobstaranie a údržbu infraštruktúry s rastom aplikácie.

Správa aplikácií v Kubernetes však môže byť tiež zložitá a vyžaduje si pokročilé zručnosti. Nasadzovanie aplikácií pomocou Kubernetes a kontinuálnej integrácie a kontinuálneho nasadzovania (CI/CD) pomáha prekonať tento zložitý proces poskytnutím abstrakcie. GitOps je jedným z nástrojov, ktoré môžu pomôcť dosiahnuť abstrakciu.

V tomto návode ukážeme, ako používať Argo CD na kontinuálnu integráciu a nasadzovanie aplikácií na Kubernetes. Vždy, keď sa do repozitára odošle akákoľvek zmena, nasadí sa do cieľového klastra. Argo CD poskytuje aj správu verzií, konfigurácie a aplikačné prostredia prostredníctvom integrácie s celým životným cyklom vývoja softvéru. Ak používate správcov balíkov pre Kubernetes, ako je napríklad Helm, alebo ak máte svoj repozitár hostovaný na BitBucket alebo GitLab, Argo CD sa dokáže bezproblémovo integrovať aj so všetkými týmito platformami.

Požiadavky

Na dokončenie tohto návodu musíte mať:

Krok 1 – Inštalácia Argo CD

Pred inštaláciou Argo CD musíme mať spustené prostredie Kubernetes s kubectl. Môžete to otestovať spustením príkazu nižšie:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Nodes

Mali by ste vidieť aspoň jeden uzol Kubernetes spustený v stave Ready . Ak nie je k dispozícii žiadny uzol, mali by ste znova skontrolovať inštaláciu Kubernetes. Ďalej vytvoríme samostatný menný priestor pre našu inštaláciu Kubernetes. Nazvime ho argocd. V tomto mennom priestore ponecháme služby súvisiace s Argo CD:

Potom nainštalujte skripty Argo CD do vyššie vytvoreného nového menného priestoru spustením príkazu nižšie:

Deploying Applications on Kubernetes Using Argo CD and GitOps Install ArgoCD

Ak chcete skontrolovať stav podov Kubernetes, spustite príkaz nižšie:

Získate výsledok podobný tomuto:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Pods

Týmto ste úspešne dokončili inštaláciu Argo CD. Ak chcete ukončiť rozhranie watch , môžete stlačiť Ctrl + C. Na prístup k službám v tomto klastri Kubernetes budeme musieť presmerovať porty. Ako na to, vám ukážeme v nasledujúcom kroku.

Krok 2 – Presmerovanie portov pre prístup k Argo CD

Kubernetes môže nasadiť vašu aplikáciu na akýkoľvek port podľa vlastného výberu. Preto je potrebné presmerovať porty aplikácie Kubernetes, aby ste k nim mali prístup z lokálneho počítača. Argo CD sprístupňuje službu s názvom argocd-server ktorá používa port 443. Port 443 je predvolený port pre služby HTTPS a HTTP. Porty Kubernetes môžete presmerovať na port podľa vlastného výberu. V našom príklade nižšie sme port presmerovali na 8080. Ak chcete presmerovať porty, spustite v termináli príkaz nižšie:

Po presmerovaní portu bude tento port zablokovaný, takže ostatné služby k nemu nebudú mať prístup. Pre neprerušený prístup sa vždy odporúča spustiť vyššie uvedený príkaz v novom termináli. Po dokončení môžete stlačiť Ctrl+C na ukončenie procesu presmerovania portu.

Po presmerovaní portu môžete prejsť do Argo CD otvorením localhost:8080. Budete požiadaní o prihlasovacie údaje, ktoré môžete získať z príkazového riadku v nasledujúcom kroku.

Krok 3 – Správa Argo CD z príkazového riadku

Na správu inštalácie Argo CD musíme nainštalovať príkazový riadok Argo CD. Odporúčaný spôsob inštalácie Argo CD je použiť správcu balíkov, ako je napríklad Homebrew. Homebrew je populárny nástroj na správu balíkov pre inštaláciu na macOS a Linuxe. Homebrew môžete nainštalovať pomocou príkazu nižšie:

Mali by ste mať brew nainštalovaný na vašom počítači. Môže sa zobraziť výzva na zadanie hesla pre prihlásenie. Môžete ho spustiť spustením príkazu nižšie:

Po vyššie uvedenej inštalácii získate príkaz argocd . Budeme musieť získať heslo správcu (admin) pomocou príkazu kubectl . Bolo automaticky vygenerované počas inštalácie. Nižšie je príkaz na jeho získanie:

Teraz, keď máte nainštalované Argo CD, môžete sa prihlásiť pomocou príkazu argocd login nižšie:

Pri použití príkazového riadku sa budete musieť prihlásiť na nasadenie aplikácie:

Applications

Môže sa zobraziť bezpečnostné varovanie. Ak áno, stlačte y pre pokračovanie. Mnohí používatelia si po prihlásení môžu priať zmeniť heslo. Ak áno, spustite príkaz argocd account update-password na zmenu hesla. Teraz máme plne funkčnú konfiguráciu Argo CD.

Nakoniec nasadíme aplikáciu do Kubernetes klastra pomocou nainštalovaného Argo CD.

Krok 4 – Využitie viacerých klastrov

Predtým, ako budete pokračovať v nastavení vašej aplikácie, je potrebné poznať cieľový stroj, na ktorý ju chcete nasadiť. V mnohých scenároch môžu Argo CD a nasadená aplikácia bežať na rovnakom klastri. Toto je predvolené správanie Argo CD, ale nie je to obmedzenie. Ak chcete aplikáciu nasadiť na iné cieľové stroje, najprv spustite kubectl config na vašom počítači:

Predpokladajme, že získate dva klastre: test-deploy-cluster a test-target-cluster. Ak sa teraz test-deploy-cluster nachádza tam, kde je vaše Argo CD, a chcete nasadzovať na test-target-cluster, potom spustite príkaz nižšie:

Vyššie uvedený príkaz pridá podrobnosti o ďalšom klastri do Argo CD. Umožní tiež nasadzovať služby na cieľový klaster Argo CD.

Krok 5 – Nasadenie ukážkovej aplikácie

Konečne je čas nasadiť aplikácie do Kubernetes klastra. Použijeme ukážkové aplikácie, ktoré poskytuje Argo CD. Využijeme tiež helm-guestbook ktorá je vytvorená pomocou Helm chartov.

Na inštaláciu aplikácie použijeme príkaz argo app create . Špecifikujeme Git repozitár, helm-guestbook a odovzdáme vašu predvolenú destináciu a menný priestor (namespace):

Stav novovytvorenej aplikácie môžete skontrolovať spustením argocd app get:

Nebuďte prekvapení, ak uvidíte OutOfSync stav. Doteraz sme stiahli Helm chart a vytvorili preň vstupný bod pre Argo CD. Na strane Kubernetes mu však nie je pridelený žiadny prostriedok. Na synchronizáciu tejto aplikácie spustite nasledujúci príkaz:

Deploying Applications on Kubernetes Using Argo CD and GitOps App Sync

Pri práci s GitOps je vždy potrebné synchronizovať aplikáciu s upstreamom. Preto kedykoľvek dôjde k zmene v repozitári, Argo CD aplikáciu nasadí.

Aplikáciu sme nasadili pomocou príkazového riadku Argo CD. Rovnaký výsledok môžete dosiahnuť pomocou webového rozhrania Argo CD. Webové rozhranie je veľmi užitočné, ak chcete skontrolovať stav a beh aplikácie. Ak chcete otvoriť webové rozhranie, otvorte localhost:8080:

Deploying Applications on Kubernetes Using Argo CD and GitOps Application UI

Na overenie inštalácie otvoríme aplikáciu v prehliadači. Naša helm-guestbook beží na porte 80. Ak máte akúkoľvek inú aplikáciu, ktorá používa port 80, môžete port presmerovať, aby neboli prerušené ostatné aplikácie:

Nakoniec otvorte URL adresu localhost:9090 vo vašom webovom prehliadači, aby ste videli spustenú aplikáciu:

 Guestbook UI

Teraz, ak vývojár odošle akýkoľvek kód do vzdialeného repozitára GitHub, ArgoCD ho zachytí a premietne. Vaše nasadenia v ArgoCD sa podľa toho aktualizujú, čo zabezpečí nepretržitú dostupnosť.

Záver

V tomto návode sme vám ukázali, ako nainštalovať a nasadiť aplikácie na Kubernetes pomocou Argo CD. Je dôležité uistiť sa, že vaše nasadenia na Kubernetes sú udržiavateľné. GitOps by vám v tomto smere mohol výrazne pomôcť.

Kubernetes je teraz štandardom pre nasadenia v cloude. Cloudsigma má niekoľko skvelých návodov na Kubernetes ktoré si môžete pozrieť ako ďalšie:

Príjemnú prácu!

author

Preslav Dobrev

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