Applicaties implementeren in Kubernetes met Argo CD voor beginners

Het implementeren van applicaties in Kubernetes kan complex zijn, vooral voor nieuwkomers. Voer Argo CD in, een op GitOps gebaseerde, declaratieve tool die is ontworpen om Kubernetes-applicatie-implementaties te automatiseren. In deze workshop leer je hoe je Argo CD instelt en gebruikt om applicaties naadloos te implementeren, met een stapsgewijze aanpak die is ontworpen voor complete beginners.

Wat je zult leren

  • Argo CD installeren en configureren.
  • Applicaties implementeren met gebruik van GitOps-principes.
  • Implementaties monitoren en problemen oplossen.
  • Terugdraaien en beheren van applicatieversies.
  • Argo CD beveiligen voor productiegebruik.

Waarom Argo CD?

Argo CD vereenvoudigt applicatiebeheer in Kubernetes door continu je cluster te synchroniseren met manifests gedefinieerd in Git-repositories. Voordelen zijn onder andere:

  • Declaratief beheer: Definieer de gewenste clusterstatus in Git.
  • Continue levering: Automatiseer implementaties met real-time synchronisatie.
  • Versiebeheer: Ga eenvoudig terug naar vorige versies.

Vereisten

Voordat je begint, zorg ervoor dat je het volgende hebt:

  1. Een Kubernetes-cluster (gebruik Minikube, Kind, of een beheerde service zoals GKE, EKS, AKS).
  2. kubectl geïnstalleerd en geconfigureerd om verbinding te maken met je cluster.
  3. Een GitHub- of GitLab-account om je Kubernetes-manifesten te hosten.
  4. Basiskennis van YAML-syntaxis (wordt behandeld in deze workshop als je nieuw bent).

Stapsgewijze Gids

1. Opzetten van een Kubernetes-cluster

Stap 1: Minikube Installeren

Als je geen cluster hebt, gebruik Minikube:

Shell

 

Stap 2: Minikube Starten

Voer het commando minikube start uit nadat je Minikube op je systeem hebt geïnstalleerd:

Shell

 

Stap 3: Cluster Verifiëren

Controleer of het cluster actief is:

Shell

 

2. Argo CD Installeren

Stap 1: Namespace Aanmaken

Argo CD draait in zijn eigen namespace voor isolatie:

Shell

 

Stap 2: Argo CD Installeren

Gebruik de officiële manifesten om Argo CD te installeren:

Shell

 

Stap 3: Installatie Verifiëren

Controleer de Argo CD-pods:

Shell

 

3. Toegang tot de Argo CD-gebruikersinterface

Stap 1: Argo CD Exposen

Exposeer de argocd-server naar je lokale machine.

Shell

 

Stap 2: Adminreferenties ophalen

Haal het standaard adminwachtwoord op:

Shell

 

Stap 3: Inloggen op UI

  1. Open https://localhost:8080 in je browser.
  2. Log in met:
    • Gebruikersnaam: admin
    • Wachtwoord: Opgeslagen in de vorige stap.

4. Verbinding maken Argo CD met je Git Repository

Stap 1: Voorbereiden van een Git Repository

  1. Maak een Git repository aan (bijv. op GitHub).
  2. Voeg je Kubernetes-manifesten toe aan de repository. Gebruik dit voorbeeld deployment.yaml:
YAML

 

Stap 2: Repository toevoegen aan Argo CD

Vanuit de UI:

  1. Navigeer naar Instellingen > Repositories.
  2. Voeg de URL van je Git repository toe en de authenticatiedetails (SSH of HTTPS).

Of, gebruik de CLI:

Shell

 

5. Uitrollen van je Eerste Applicatie

Stap 1: Maak een Applicatie aan

In de Argo CD UI:

  1. Klik op Nieuwe App.
    • Applicatienaam: nginx-app
    • Project: standaard
    • Repository-URL: Uw Git-repo-URL
    • Pad: Pad naar deployment.yaml
    • Cluster-URL: https://kubernetes.default.svc
    • Namespace: standaard

Stap 2: Synchroniseer de Applicatie

Na het maken van de app:

  1. Klik op Synchroniseren in de Argo CD UI.
  2. Bekijk hoe de app wordt geïmplementeerd op uw Kubernetes-cluster.

6. Implementaties automatiseren

Stap 1: Automatische Synchronisatie inschakelen

Schakel continue synchronisatie in:

Shell

 

Stap 2: Wijzigingen testen

  1. Wijzig het deployment.yaml in Git.
  2. Push wijzigingen naar het repository.
  3. Argo CD detecteert de wijzigingen en synchroniseert ze automatisch naar het cluster.

7. Monitoring en Probleemoplossing

Stap 1: Monitor de Gezondheid van de Applicatie

In de UI, controleer:

  • Gezondheid: Geeft aan of de toepassing zoals verwacht werkt.
  • Synchronisatiestatus: Zorgt ervoor dat de clusterstatus overeenkomt met Git.

Stap 2: Bekijk Logs

Als er iets misgaat:

Shell

 

Stap 3: Maak Wijzigingen Ongedaan

Maak wijzigingen ongedaan naar een eerdere staat:

Shell

 

8. Argo CD Beveiligen

Stap 1: Wijzig Standaard Beheerderswachtwoord

Wijzig het standaard beheerderswachtwoord met behulp van het commando argocd account update-password:

Shell

 

Stap 2: Integreer SSO

Voor productieomgevingen, integreer met Single Sign-On (SSO) oplossingen zoals GitHub of LDAP.

GitOps Beste Praktijken

  1. Branchestrategieën: Gebruik aparte branches voor ontwikkeling, staging en productie.
  2. Code Reviews: Voer peer reviews uit voor manifest wijzigingen.
  3. Auditlogs: Controleer regelmatig Argo CD logs voor naleving en debugging.

Conclusie

Argo CD biedt een gebruiksvriendelijke maar krachtige manier om Kubernetes-implementaties te beheren met behulp van GitOps principes. Deze workshop voorziet je van de vaardigheden om toepassingen efficiënt te implementeren, monitoren en beheren. Door je aan deze praktijken te houden, ben je goed op weg om Kubernetes-continue levering onder de knie te krijgen.

Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd