Natrag na blog

Implementacija aplikacija na Kubernetesu pomoću Argo CD-a i GitOps-a

Implementacija aplikacija na Kubernetesu pomoću Argo CD-a i GitOps-a

Uvod

Kubernetes je postao standard za implementaciju velikih aplikacija. Pomaže razvojnim programerima da ostvare značajne prednosti i nudi značajke koje nisu dostupne u tradicionalnom hostingu poslužitelja. Kubernetes omogućuje horizontalno skaliranje bez gnjavaže oko infrastrukture. Nadalje, smanjuje troškove nabave i održavanja infrastrukture kako aplikacija raste.

Međutim, upravljanje aplikacijama na Kubernetesu također može biti složeno i zahtijeva napredne vještine. Implementacija aplikacija pomoću Kubernetesa i kontinuirane integracije i kontinuirane isporuke procesa (CI/CD) pomaže u prevladavanju ovog složenog procesa pružanjem apstrakcije. GitOps je jedan od alata koji mogu pomoći u postizanju apstrakcije.

U ovom vodiču, prikazat ćemo kako koristiti Argo CD za kontinuiranu integraciju i isporuku aplikacija na Kubernetesu. Kad god se bilo koja promjena gurne u repozitorij, ona se implementira na ciljni klaster. Argo CD također pruža kontrole verzija, konfiguracije i aplikacijska okruženja integracijom s cijelim životnim ciklusom razvoja softvera. Ako imate upravitelje paketima za Kubernetes kao što je Helm, ili ako imate svoj repozitorij hostiran na BitBucket ili GitLab, Argo CD se također može besprijekorno integrirati sa svim tim platformama.

Preduvjeti

Da biste dovršili ovaj vodič, morate imati:

Korak 1 – Instalirajte Argo CD

Prije nego što možemo instalirati Argo CD, moramo imati pokrenuto Kubernetes okruženje s kubectl. To možete testirati pokretanjem naredbe u nastavku:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Nodes

Trebali biste vidjeti barem jedan Kubernetes čvor koji radi u Ready statusu. Ako nema dostupnog čvora, trebali biste ponovno provjeriti svoju instalaciju Kubenertesa. Zatim ćemo stvoriti zaseban prostor naziva za našu instalaciju Kubenertesa. Nazovimo ga argocd. U ovom prostoru naziva zadržat ćemo uslugu povezanu s Argo CD-om:

Nakon toga instalirajte Argo CD skripte u gore novostvoreni prostor naziva pokretanjem naredbe u nastavku:

Deploying Applications on Kubernetes Using Argo CD and GitOps Install ArgoCD

Da biste provjerili status Kubernetes podova, pokrenite naredbu u nastavku:

Dobit ćete rezultat poput ovog u nastavku:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Pods

Ovdje ste uspješno završili instalaciju Argo CD-a. Za izlazak iz sučelja watch, možete pritisnuti Ctrl + C. Za pristup uslugama u ovom Kubernetes klasteru morat ćemo proslijediti portove. Pokazat ćemo vam kako to učiniti u sljedećem koraku.

Korak 2 – Proslijedite portove za pristup Argo CD-u

Kubernetes može implementirati vašu aplikaciju na bilo koji port po svom izboru. Stoga je potrebno proslijediti portove Kubernetes aplikacije kako biste im pristupili s lokalnog računala. Argo CD izlaže uslugu pod nazivom argocd-server koja koristi port 443. Port 443 je zadani port za HTTPS i HTTP usluge. Možete proslijediti Kubernetes portove na port po vašem izboru. U našem primjeru u nastavku, proslijedili smo port na 8080. Za prosljeđivanje portova pokrenite naredbu u nastavku u terminalu:

Nakon što proslijedite port, on će biti blokiran tako da mu druge usluge ne mogu pristupiti. Za nesmetan pristup, uvijek se preporučuje pokretanje gore navedene naredbe u novom terminalu. Kada završite, možete pritisnuti Ctrl+C kako biste prekinuli postupak prosljeđivanja porta.

Nakon što proslijedite port, možete otići na Argo CD tako da posjetite localhost:8080. Od vas će se tražiti vjerodajnice koje možete dobiti iz naredbenog retka u sljedećem koraku.

Step 3 – Upravljanje Argo CD-om iz naredbenog retka

Moramo instalirati naredbeni redak Argo CD-a za upravljanje instalacijom Argo CD-a. Preporučeni način instalacije Argo CD-a je korištenje upravitelja paketima kao što je Homebrew. Homebrew je popularan alat za upravljanje paketima za instalaciju na macOS-u i Linuxu. Homebrew možete instalirati pomoću naredbe u nastavku:

Trebali biste imati brew instaliran na vašem računalu. Može se pojaviti upit za lozinku za prijavu. Možete ga pokrenuti pokretanjem naredbe u nastavku:

Dobit ćete argocd naredbu nakon gore navedene instalacije. Morat ćemo dohvatiti administratorsku lozinku pomoću kubectl naredbe. Automatski je generirana tijekom instalacije. Ispod je naredba za njezino dobivanje:

Sada kada ste instalirali Argo CD, možete se prijaviti pomoću naredbe argocd login u nastavku:

Morat ćete se prijaviti za implementaciju aplikacije kada koristite naredbeni redak:

Applications

Možda ćete primiti sigurnosno upozorenje. Ako je tako, pritisnite y za nastavak. Mnogi korisnici možda žele promijeniti lozinku nakon prijave. Ako je tako, pokrenite naredbu argocd account update-password kako biste promijenili lozinku. Sada imamo potpuno funkcionalnu konfiguraciju Argo CD-a.

Na kraju, implementirat ćemo aplikaciju na Kubernetes klasteru pomoću instaliranog Argo CD-a.

Step 4 – Korištenje više klastera

Prije nego što nastavite s postavljanjem svoje aplikacije, potrebno je znati ciljno računalo na koje je želite implementirati. U mnogim scenarijima, Argo CD i implementirana aplikacija mogu se izvoditi na istom klasteru. To je zadano ponašanje Argo CD-a, ali to nije ograničenje. Ako želite implementirati aplikaciju na druga ciljna računala, najprije pokrenite kubectl config na svom računalu:

Pretpostavimo da dobijete dva klastera: test-deploy-cluster i test-target-cluster. Ako se sada test-deploy-cluster nalazi tamo gdje je vaš Argo CD, a želite izvršiti implementaciju na test-target-cluster, tada pokrenite naredbu u nastavku:

Gore navedena naredba dodat će pojedinosti o dodatnom klasteru u Argo CD. Također će omogućiti implementaciju usluga na ciljnom klasteru Argo CD-a.

Step 5 – Implementacija primjera aplikacije

Napokon je vrijeme za implementaciju aplikacija na Kubernetes klasteru. Koristit ćemo primjere aplikacija koje nudi Argo CD. Također ćemo koristiti helm-guestbook koji je izgrađen pomoću Helm grafikona.

Za instalaciju aplikacije koristit ćemo naredbu argo app create . Navest ćemo Git repozitorij, helm-guestbook te proslijediti vaše zadano odredište i prostor naziva (namespace):

Status novoizgrađene aplikacije možete provjeriti pokretanjem argocd app get:

Nemojte se iznenaditi ako vidite OutOfSync status. Do sada smo preuzeli Helm grafikon i stvorili ulaznu točku za njega za Argo CD. Međutim, na strani Kubernetesa nema dodijeljenih resursa za njega. Kako biste sinkronizirali ovu aplikaciju, pokrenite naredbu u nastavku:

Deploying Applications on Kubernetes Using Argo CD and GitOps App Sync

Kada radite s GitOps-om, uvijek je potrebno sinkronizirati aplikaciju s izvornim repozitorijem. Stoga, kad god se dogodi promjena u repozitoriju, Argo CD implementira aplikaciju.

Implementirali smo aplikaciju pomoću naredbenog retka Argo CD-a. Isti rezultat možete postići pomoću web sučelja Argo CD-a. Web sučelje je vrlo korisno ako želite provjeriti status i rad aplikacije. Da biste otvorili web sučelje, otvorite localhost:8080:

Deploying Applications on Kubernetes Using Argo CD and GitOps Application UI

Kako biste provjerili instalaciju, otvorit ćemo aplikaciju u pregledniku. Naš helm-guestbook radi na portu 80. Ako imate bilo koju drugu aplikaciju koja koristi port 80, možete proslijediti port kako druge aplikacije ne bi bile prekinute:

Na kraju, otvorite URL localhost:9090 u svom web pregledniku kako biste vidjeli da vaša aplikacija radi:

 Guestbook UI

Sada, ako programer pošalje bilo kakav kod u udaljeni Github repozitorij, ArgoCD će ga uhvatiti i primijeniti. Vaše ArgoCD implementacije bit će u skladu s tim ažurirane, osiguravajući neprekidnu dostupnost.

Zaključak

U ovom vodiču pokazali smo vam kako instalirati i implementirati aplikacije na Kubernetesu pomoću Argo CD-a. Važno je osigurati da se vaše implementacije na Kubernetesu mogu održavati. GitOps bi vam mogao puno pomoći u tom pogledu.

Kubernetes je sada standard za implementacije u oblaku. Cloudsigma ima sjajne vodiče o Kubernetesu koje možete pogledati u nastavku:

Ugodno računanje!

author

Preslav Dobrev

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.