Deploy ArgoCD na klaster AWS EKS

Postawiłeś sobie klaster kubernetes, ale potrzebujesz jeszcze dobre narzędzie, do automatycznego deploymentu zbudowanej aplikacji na klaster? W poniższym artykule, pokaże Ci krok po kroku, jak przy pomocy Helm, zainstalować Argo CD na wcześniej utworzonym klastrze.

1. Pobranie helm chart z Argo

W pierwszej kolejności, musimy sobie sklonować zdalne repozytorium, robimy to przy pomocy polecenia

git clone https://github.com/argoproj/argo-helm.git

Całe repozytorium zawiera między innymi Argo CD, Argo CD Workflows itp, polecam zajrzeć każdemu i zobaczyć, może wykorzystacie którąś z nich. Po sklonowaniu musimy przejść do katalogu z argocd, za pomocą polecenia

cd argo-helm/charts/argo-cd/

Kolejnym krokiem jaki musimy zrobić, jest utworzenie namespace dla ArgoCD, w tym celu wykonujemy polecenie

kubectl create ns argo-cd

2. Instalacja zależności

Następnie, musimy pobrać wszystkie zależności, potrzebne do deployu ArgoCD, robimy to przy pomocy polecenia

helm dependency up

Jeżeli wszystko poszło poprawnie, powinniśmy zobaczyć output jak poniżej

Getting updates for unmanaged Helm repositories…
…Successfully got an update from the „https://dandydeveloper.github.io/charts/” chart repository
Hang tight while we grab the latest from your chart repositories…
…Successfully got an update from the „hashicorp” chart repository
…Successfully got an update from the „jenkins” chart repository
…Successfully got an update from the „argo” chart repository
…Successfully got an update from the „nginx-stable” chart repository
…Successfully got an update from the „prometheus-community” chart repository
…Successfully got an update from the „longhorn” chart repository
…Successfully got an update from the „bitnami” chart repository
…Successfully got an update from the „my-repo” chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading redis-ha from repo https://dandydeveloper.github.io/charts/
Deleting outdated charts

3. Instalacja chartu

W procesie instalacji Argo CD, został nam ostatni krok, czyli instalacja charta na naszym klastrze, domyślnie nie będzie on dostępny z zewnątrz, a my chcemy mieć do niego dostęp, więc wykorzystajmy do tego AWS Load Balancer. Utwórzmy swój plik my-values.yml i wpiszmy w nim poniższe wartości:

server:
  service:
    type: LoadBalancer

Dzięki temu, nasz Argo CD po instalacji będzie podpięty pod load balancer i będzie dostępny z zewnątrz. Następnym krokiem jest instalancja paczki, robimy to przy pomozy poniższego polecenia

helm install argocd . -f values.yaml -f my-values.yml -n argo-cd

Takim oto sposobem, zainstalowaliśmy na klastrze ArgoCD.

4. Dostęp do panelu administratora

No dobrze, mamy zainstalowany Argo CD, panel nam się uruchami, ale jak się zalogować? Hasło do panelu administratora znajduje się w secret, gdzie jest zakodowane w base64, możemy je uzyskać przy pomocy poniższego polecenia

kubectl -n argo-cd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d

Powinniśmy otrzymać rozkodowane hasło, kopiujemy je do schowka, przechodzimy do panelu administratora i logujemy się 🙂 Domyślny login to admin, natomiast hasło, powinniście mieć skopiowane do schowka 🙂

5. Usunięcie Argo CD przy pomocy Helm

Usunięcie paczki z klastra, ogranicza się do jednego polecenia

helm uninstall argo-cd  -n argo-cd

I to wszystko 🙂 Mam nadzieję, że powyższy artykuł komuś się przyda, w następnych artykułach utworzymy sobie prosty projekt i wdrożymy go przy pomocy argo 🙂

Related Posts