Bevezetés
Kubernetes szabvánnyá vált a nagy alkalmazások telepítésében. Segít a fejlesztőknek jelentős előnyökhöz jutni, és olyan funkciókat kínál, amelyek a hagyományos szerverhosztingban nem érhetők el. A Kubernetes lehetővé teszi a horizontális skálázást az infrastruktúrával járó vesződségek nélkül. Ezenkívül csökkenti az infrastruktúra beszerzésének és fenntartásának költségeit az alkalmazás növekedésével.
Azonban az alkalmazások kezelése a Kubernetes-en bonyolult is lehet, és haladó készségeket igényel. Az alkalmazások telepítése a Kubernetes és a Continuous Integration and Continuous Deployment folyamat (CI/CD) segítségével absztrakciót biztosítva segít leküzdeni ezt a bonyolult folyamatot. GitOps az egyik olyan eszköz, amely segíthet az absztrakció elérésében.
Ebben az útmutatóban bemutatjuk, hogyan használható az Argo CD az alkalmazások folyamatos integrálására és üzembe helyezésére a Kubernetes-en. Amikor bármilyen változtatást beküldenek a kódtárba, az automatikusan telepítésre kerül a célfürtön. Argo CD verziókezelést, konfigurációkat és alkalmazáskörnyezeteket is biztosít a teljes szoftverfejlesztési életciklussal való integráció révén. Ha olyan csomagkezelőkkel rendelkezik a Kubernetes-hez, mint a Helm, vagy ha a kódtára a BitBucket vagy a GitLab platformon található, az Argo CD zökkenőmentesen integrálható ezekkel a platformokkal is.
Előfeltételek
Az útmutató elvégzéséhez a következőkre van szükség:
-
SSH-kulcsok a gépén. Ha nem rendelkezik Linux/MacOS/BSD rendszeren futó SSH-kulcspárral, létrehozhat egyet az alábbi útmutatónkat követve: SSH Overview – SSH Servers, Clients, and Keys.
-
Szüksége lesz egy futó Kubernetes-fürtre is. Emellett rendelkeznie kell a kubectl eszközzel a gépén. Ha nem rendelkezik Kubernetes-fürttel, kövesse a How To Create a Kubernetes Cluster Using Kubeadm on Ubuntu 18.04.
-
Alapvető ismeretekkel kell rendelkeznie a Kubernetes fogalmairól. Ha szeretne jobban megismerkedni a Kubernetes-szel, kövesse a Getting to know the basics of the Kubernetes tool.
1. lépés – Az Argo CD telepítése
Az Argo CD telepítése előtt rendelkeznünk kell egy futó Kubernetes környezettel, amely tartalmazza a kubectl eszközt. Ezt az alábbi parancs futtatásával tesztelheti:
|
1 |
kubectl get nodes |

Legalább egy futó Kubernetes csomópontot kell látnia Ready állapotban. Ha nem áll rendelkezésre csomópont, ellenőrizze újra a Kubernetes telepítését. Ezután létrehozunk egy külön névteret a Kubernetes telepítésünkhöz. Nevezzük így: argocd. Az Argo CD-vel kapcsolatos szolgáltatásokat ebben a névtérben fogjuk tartani:
|
1 |
kubectl create namespace argocd |
Ezután telepítse az Argo CD szkripteket a fent létrehozott új névtérbe az alábbi parancs futtatásával:
|
1 |
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml |

A Kubernetes podok állapotának ellenőrzéséhez futtassa az alábbi parancsot:
|
1 |
watch kubectl get pods -n argocd |
Az alábbihoz hasonló eredményt fog kapni:

Ezzel sikeresen befejezte az Argo CD telepítését. A watch felületből való kilépéshez nyomja meg a Ctrl + C billentyűkombinációt. A Kubernetes-fürtben lévő szolgáltatások eléréséhez továbbítanunk kell a portokat. A következő lépésben megmutatjuk, hogyan kell ezt megtenni.
Step 2 – Forward Ports to Access Argo CD
A Kubernetes az Ön által választott bármely portra telepítheti az alkalmazást. Ezért a helyi gépről való eléréshez továbbítani kell a Kubernetes alkalmazás portjait. Az Argo CD közzétesz egy argocd-server nevű szolgáltatást, amely a 443 portot használja. A 443 port a HTTPS és HTTP szolgáltatások alapértelmezett portja. A Kubernetes portokat egy Ön által választott portra továbbíthatja. Az alábbi példánkban a portot a 8080 portra továbbítottuk. A portok továbbításához futtassa az alábbi parancsot a terminálban:
|
1 |
kubectl port-forward svc/argocd-server -n argocd 8080:443 |
Miután továbbította a portot, az blokkolva lesz, így a többi szolgáltatás nem fogja tudni elérni. A zavartalan hozzáférés érdekében mindig ajánlott a fent említett parancsot egy új terminálban futtatni. Ha végzett, megnyomhatja a Ctrl+C gombot a porttovábbítási folyamatból való kilépéshez.
Miután továbbította a portot, az Argo CD-hez navigálhat a localhost:8080 címre lépve. A rendszer kérni fogja a hitelesítési adatokat, amelyeket a következő lépésben a parancssorból szerezhet meg.
Step 3 – Az Argo CD kezelése parancssorból
Az Argo CD telepítésének kezeléséhez telepítenünk kell az Argo CD parancssort. Az Argo CD telepítésének javasolt módja egy csomagkezelő használata, mint például a Homebrew. A Homebrew egy népszerű csomagkezelő eszköz macOS és Linux rendszerekre történő telepítéshez. A Homebrew-t az alábbi paranccsal telepítheti:
|
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
Rendelkeznie kell a gépére telepített brew programmal. Előfordulhat, hogy a bejelentkezéshez jelszót kér a rendszer. Az alábbi parancs futtatásával indíthatja el:
|
1 |
brew install argocd |
A fenti telepítés után megkapja a argocd parancsot. Az adminisztrátori jelszót a kubectl paranccsal kell lekérnünk. Ez a telepítés során automatikusan generálódott. Alább látható a megszerzéséhez szükséges parancs:
|
1 |
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo |
Most, hogy telepítette az Argo CD-t, bejelentkezhet az alábbi argocd login paranccsal:
|
1 |
argocd login localhost:8080 |
A parancssor használatakor be kell jelentkeznie az alkalmazás telepítéséhez:

Előfordulhat, hogy biztonsági figyelmeztetést kap. Ha igen, nyomja meg az y gombot a folytatáshoz. Sok felhasználó szeretné megváltoztatni a jelszót a bejelentkezés után. Ha igen, futtassa az argocd account update-password parancsot a jelszó megváltoztatásához. Most már egy teljesen működőképes Argo CD konfigurációval rendelkezünk.
Végezetül egy alkalmazást fogunk telepíteni a Kubernetes fürtre a telepített Argo CD segítségével.
Step 4 – Több fürt használata
Mielőtt folytatná az alkalmazás beállítását, ismernie kell a céleszközt, amelyre telepíteni szeretné. Sok forgatókönyv esetén az Argo CD és a telepített alkalmazás ugyanazon a fürtön futhat. Ez az Argo CD alapértelmezett viselkedése, de ez nem korlátozás. Ha az alkalmazást más céleszközökre szeretné telepíteni, először futtassa a kubectl config parancsot a gépén:
|
1 |
kubectl config get-contexts -o name |
Tegyük fel, hogy két fürtöt kap: test-deploy-cluster és test-target-cluster. Ha a test-deploy-cluster fürtön található az Argo CD, és a test-target-cluster fürtre szeretne telepíteni, akkor futtassa az alábbi parancsot:
|
1 |
argocd cluster add target-k8s |
A fenti parancs hozzáadja a további fürt adatait az Argo CD-hez. Lehetővé teszi továbbá szolgáltatások telepítését az Argo CD célfürtjén.
Step 5 – Egy példaalkalmazás telepítése
Végre eljött az ideje, hogy alkalmazásokat telepítsünk a Kubernetes fürtre. Az Argo CD által biztosított példaalkalmazásokat fogjuk használni. Kihasználjuk a helm-guestbook alkalmazást is, amely Helm chartok használatával készült.
Az alkalmazás telepítéséhez az argo app create parancsot fogjuk használni. Megadjuk a Git repository, helm-guestbook értéket, valamint átadjuk az alapértelmezett célhelyet és névteret:
|
1 |
argocd app create helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-server https://kubernetes.default.svc --dest-namespace default |
Az újonnan létrehozott alkalmazás állapotát az alábbi parancs futtatásával ellenőrizheti: argocd app get:
|
1 |
argocd app get helm-guestbook |
Ne lepődjön meg, ha a OutOfSync státuszt látja. Eddig letöltöttük a Helm chartot, és létrehoztunk hozzá egy belépési pontot az Argo CD számára. A Kubernetes oldalon azonban még nincs hozzárendelve erőforrás. Az alkalmazás szinkronizálásához futtassa az alábbi parancsot:
|
1 |
argocd app sync helm-guestbook |

Ha GitOps-szal dolgozunk, mindig szinkronizálni kell az alkalmazást a távoli (upstream) tárhellyel. Ezért, amikor változás történik a tárhelyen, az Argo CD telepíti az alkalmazást.
Az alkalmazást az Argo CD parancssor segítségével telepítettük. Ugyanezt az eredményt az Argo CD webes felületén is elérheti. A webes felület nagyon hasznos, ha ellenőrizni szeretné az alkalmazás állapotát és működését. A webes felület megnyitásához nyissa meg a localhost:8080:

A telepítés ellenőrzéséhez megnyitjuk az alkalmazást a böngészőben. A mi helm-guestbook alkalmazásunk a 80 porton fut. Ha bármilyen más alkalmazása használja a 80 portot, továbbíthatja a portot, hogy a többi alkalmazás működése ne szakadjon meg:
|
1 |
kubectl port-forward svc/helm-guestbook 9090:80 |
Végül nyissa meg a localhost:9090 címet a böngészőjében, hogy lássa a futó alkalmazást:

Ha most egy fejlesztő kódot küld a GitHub távoli tárhelyre, az ArgoCD észleli és érvényesíti azt. Az ArgoCD telepítései ennek megfelelően frissülnek, biztosítva a folyamatos elérhetőséget.
Összegzés
Ebben az útmutatóban bemutattuk, hogyan telepíthet és futtathat alkalmazásokat Kubernetes-en az Argo CD segítségével. Fontos biztosítani, hogy a Kubernetes-en lévő telepítések karbantarthatók legyenek. Ebben a GitOps sokat segíthet.
A Kubernetes mára a felhőalapú telepítések szabványává vált. A CloudSigma nagyszerű Kubernetes útmutatókkal rendelkezik, amelyeket érdemes legközelebb megtekintenie:
- Kubernetes DNS szolgáltatás: Útmutató kezdőknek
- WordPress beállítása MySQL-lel Kubernetes-en Helm segítségével
- Jenkins telepítése Kubernetes-re
- A CloudSigma PaaS felfedezése: Hogyan érhetjük el a Kubernetes alkalmazást nyilvános IP-címen keresztül
Kellemes számítástechnikát!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.