Argo CD е инструмент за непрекъснато доставяне с отворен код за вашия проект, който работи на Kubernetes

Argo CD може да бъде идентифициран като инструмент за непрекъснато доставяне с отворен код за Kubernetes, който има графичен потребителски интерфейс за виждане на компонентите на Kubernetes вътре в клъстера. Когато стартирате приложение на Kubernetes, можете да видите всички компоненти на Kubernetes на терминала с помощта на команди kubectl. Но когато използвате Argo, можете да ги видите в GUI. Не само това, можете да свържете вашето хранилище с Argo и с едно кликване можете да синхронизирате приложението си с най-новите промени. Независимо дали вашият проект се намира в публично или частно хранилище, можете да го добавите в Argo CD и да създадете отделно приложение, използвайки вашето репо. Argo CD поддържа удостоверяване, така че вашите лични хранилища да могат да бъдат добавени безопасно с помощта на вашите идентификационни данни.

Освен хубавия GUI на Argo CD, той има и други уникални функции, които могат да улеснят вашите проекти. Argo CD ви позволява да свържете множество Git хранилища в един клъстер, а също така има вградена поддръжка за инструменти на трети страни като kustomize, helm, ksonnet и др. Argo CD има функцията за автоматично синхронизиране и след като я активирате, вашето приложение ще бъде синхронизирано автоматично [Но когато трябва да актуализирате версията на изображението на контейнера, трябва първо да извършите промените си в хранилището].

В тази статия ще обсъдя как можете да интегрирате Argo CD във вашия проект, който работи на Kubernetes.

Преди да започнете, трябва да имате инсталиран kubectl (инструмент за команден ред за Kubernetes) на вашия компютър. Освен това трябва да имате достъп до вашия клъстер Kubernetes и би било по-лесно, ако вече сте създали хранилище за вашия проект.

За този урок използвам локален клъстер на Kubernetes, създаден чрез minikube, и моето хранилище се намира в GitHub като публично хранилище.

Ако трябва да инсталирате minikube на вашия компютър, за да имате клъстер с един възел, моля, вижте урока по-долу.



След като приключите с инсталирането на Minikube, изпълнете командата minikube start на терминала, за да стартирате клъстера Kubernetes. След това изпълнете команди kubectl get pod & kubectl get all, за да проверите какви са компонентите на K8s, които имате във вашия клъстер [Ако не сте запознати с командите Kubernetes и kubectl, моля, проверете предишните ми статии].

Ако стартирате minikube за първи път на компютъра си, може да не видите никакви услуги за внедряване във вашия клъстер, защото обикновено получавате чист клъстер с Minikube.

1. Инсталиране на Argo CD

Като начало трябва да създадем отделно пространство от имена за Argo CD. Използвайте командата по-долу на вашия терминал, за да създадете пространство от имена за Argo CD [можете да проверите всички налични пространства от имена във вашия клъстер, като използвате командата kubectl get ns].

$ kubectl create namespace argocd

Изпълнете командата kubectl get ns на вашия терминал и ще видите, че във вашия клъстер е създадено ново пространство от имена. След това можем да инсталираме Argo CD в това пространство от имена, като използваме командата по-долу [уверете се, че използвате точната команда].

$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

След това ще започне да създава всички необходими ресурси във вашето пространство от имена. Това всъщност отнема известно време, за да завърши инсталацията, така че трябва да изчакате, докато се инсталира напълно в пространството на имената. Можете да използвате командата kubectl get pod -n argocd --watch, за да видите събития на живо от процеса на създаване на контейнер. След като приключите, изпълнете командата по-долу, за да видите всички ресурси в пространството от имена argocd.

$ kubectl get all -n argocd

Ще видите, че всички подове работят и другите ресурси са в предпочитаното си състояние.

2. Достъп до Argo CD API сървър

След това трябва да получите достъп до Argo CD API сървъра и за това можете да следвате един от методите по-долу.

  • Балансиране на натоварването на тип услуга — тук трябва да промените типа услуга на argocd-сървър на LoadBalancer
  • Ingress — вижте тази уеб страница, за да разберете как можете да конфигурирате Argo CD с ingress.
  • Пренасочване на портове — това е лесен метод, чрез който можете да използвате командата kubectl port forward, за да се свържете с API сървъра, без да разкривате услугата.

За този урок ще използвам последния метод, който е пренасочване на портове и това би било малко по-лесно в сравнение с другите методи. Изпълнете командата по-долу, за да активирате препращането на портове за вашето приложение.

$ kubectl port-forward svc/argocd-server -n argocd 8080:443

Сега ще имате достъп до API сървъра чрез localhost:8080 Отворете браузъра си и отворете localhost:8080 и ще получите изход като по-долу.

След това щракнете върху Разширени › Продължете към localhost(unsafe)и след това ще видите страницата за вход на Argo CD като екранната снимка по-долу.

Потребителското име за Argo CD е admin, а първоначалната парола се генерира автоматично и обикновено е името на под на Argo CD сървъра. Можете да получите името на pod, като изпълните команда kubectl get pod -n argocd на вашия терминал или използвайте командата по-долу, за да получите точното име на pod.

$ kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2

Сега можете да въведете идентификационните данни за страницата за влизане в argo cd и да получите достъп до таблото за управление на Argo CD или в противен случай можете да инсталирате argocd CLI и да влезете през вашия терминал.

[ако желаете да активирате argocd CLI на вашия компютър, изпълнетеbrew install argocd команда на вашия терминал и изтеглете argocd. Тази команда работи на компютри Mac и ако използвате друга операционна система, моля, вижте тази връзка].

username: admin
password: <pod name of the argocd-server>

[ За да влезете с вашия терминал, изпълнете командата argocd login localhost:8080 и въведете потребителско име и парола, както по-горе]

3. Създаване на приложение за вашия проект

След това можете да създадете приложение за вашия проект на Argo CD. Щракнете върху втората икона (управление на вашите хранилища)в левия панел и след това щракнете върху Хранилища. Използвайте HTTPS или SSH връзка, за да свържете вашето хранилище към Argo CD. Ако използвате публично хранилище, можете да добавите само URL адреса на репо; ако използвате частно хранилище, добавете URL адрес на репо, както и потребителско име и парола, които получавате, когато щракнете върху бутона клониране.

След като приключите с това, отидете в раздела Приложение и щракнете върху +НОВО ПРИЛОЖЕНИЕ. Добавете име на приложение, за да идентифицирате приложението си, и попълнете останалите секции според вашето хранилище [ако получите грешка, докато създавате ново приложение, моля, не се колебайте да ми изпратите съобщение и аз ще се свържа с вас ].

След като попълните всички необходими данни, щракнете върху Създайи ще можете да видите кандидатурата си. След това отидете в него и ще видите изход, както е показано по-долу.

След това щракнете върху бутона СИНХРОНИЗИРАНЕи ще получите резултат като по-долу, след което щракнете върху СИНХРОНИЗИРАНЕ.

Той ще започне да се синхронизира и може да отнеме известно време, за да завърши процеса. След като приключи, приложението ви ще изглежда така.

Заключение

Поздравления 🎉

Успешно сте интегрирали Argo CD във вашия проект, който работи на Kubernetes.

Благодаря ви, че прочетохте!

Препратки

Програмен код

Присъединете се към FAUN: Уебсайт💻|Podcast🎙️|Twitter🐦|Facebook👥 |Instagram📷|Facebook група🗣️|Linkedin Group💬| Slack 📱|Cloud Native Новини📰|Още.

Ако тази публикация е била полезна, моля, щракнете върху бутона за пляскане 👏 по-долу няколко пъти, за да покажете подкрепата си за автора 👇