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 🙂