Détails
- 7 Sections
- 26 Lessons
- 3 Hours
- Introduction:4
- Installation et Fonctionnement d'Argo CD5
- Sécuriser les Mots de Passe des Applications dans Vos Dépôts Git4
- Déployer une Application de Blog avec Argo CD2
- Interface Web ArgoCD1
- Gestion des Accès4
- Argo Rollouts6
Déployer Argo CD
Explorons les différentes méthodes de déploiement d’Argo CD. Il existe plusieurs types d’installations :
- Non haute disponibilité (Non-HA) : Utilise le fichier de manifest install.yaml. Recommandé pour les environnements de développement, de démonstration ou de test. Cette installation déploie des Pods et des réplicas uniques pour les composants Argo CD, sans assurer une haute disponibilité.
- Haute disponibilité (HA) : Utilisant le fichier de manifest namespace-install.yaml, cette méthode est recommandée pour les environnements de production. Elle est optimisée pour la haute disponibilité et la résilience, bien que certains composants comme le cache Redis ne soient pas redondants car ils peuvent être facilement reconstruits en cas de problème.
- Installation de base : Utilise le fichier de manifest core-install.yaml pour des installations où les fonctionnalités de multi-location (comme l’interface utilisateur web et le serveur API) ne sont pas nécessaires. Elle installe des composants légers d’Argo CD sans haute disponibilité.
Niveaux de Déploiement
Argo CD peut être déployé à différents niveaux :
- Niveau Cluster : Utilisé lorsque vous avez un accès au niveau du cluster Kubernetes et que vous déployez des applications sur le même cluster où Argo CD est exécuté.
- Niveau Namespace : Utilisé lorsque vous avez un accès au niveau des espaces de noms et que vous prévoyez de déployer des applications sur des clusters Kubernetes externes, pas sur le cluster où Argo CD est exécuté. Cela permet de configurer Argo CD de manière centralisée et de gérer plusieurs clusters Kubernetes à partir d’une seule instance Argo CD.
Cette flexibilité dans les types de déploiement permet de structurer Argo CD selon les besoins de votre organisation et de vos équipes. Par exemple, vous pouvez déployer Argo CD sur un cluster Kubernetes centralisé et ajouter des identifiants de clusters Kubernetes externes à cette instance, permettant ainsi de déployer des applications sur plusieurs clusters Kubernetes externes.
Méthodes d’Installation
Il existe plusieurs façons d’installer Argo CD :
- Fichiers YAML : La méthode la plus courante consiste à utiliser les fichiers YAML fournis par le dépôt GitHub d’Argo CD.
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
-
Kustomize : Vous pouvez utiliser Kustomize pour personnaliser et déployer Argo CD.
Pour installer Argo CD en utilisant Kustomize, vous pouvez suivre les étapes suivantes. Kustomize permet de personnaliser des configurations Kubernetes sans avoir besoin de les modifier directement. Voici un exemple complet de la manière d’installer Argo CD en utilisant Kustomize :
mkdir -p argocd-install/base
mkdir -p argocd-install/overlays/production
mkdir -p argocd-install/overlays/development
Téléchargez les fichiers YAML nécessaires depuis le dépôt GitHub d’Argo CD et placez-les dans le répertoire base :
curl -o argocd-install/base/install.yaml https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Créez un fichier kustomization.yaml dans le répertoire base :
# argocd-install/base/kustomization.yaml
resources:
- install.yaml
Créez un fichier kustomization.yaml pour chaque overlay (par exemple, production et development). Vous pouvez utiliser ces overlays pour des configurations spécifiques à chaque environnement.
Overlay Production :
# argocd-install/overlays/production/kustomization.yaml
resources:
- ../../base
# Ajoutez des patches spécifiques à l'overlay production ici
patchesStrategicMerge:
# Par exemple, un patch pour augmenter le nombre de réplicas
- |-
apiVersion: apps/v1
kind: Deployment
metadata:
name: argocd-server
spec:
replicas: 3
Overlay Développement
# argocd-install/overlays/development/kustomization.yaml
resources:
- ../../base
# Ajoutez des patches spécifiques à l'overlay développement ici
patchesStrategicMerge:
# Par exemple, un patch pour diminuer le nombre de réplicas
- |-
apiVersion: apps/v1
kind: Deployment
metadata:
name: argocd-server
spec:
replicas: 1
Utilisez Kustomize pour déployer Argo CD dans votre cluster Kubernetes.
Pour l’overlay production :
kubectl apply -k argocd-install/overlays/production
Résumé de la Structure des Répertoires
Voici un résumé de la structure des répertoires que vous devriez avoir :
argocd-install/
├── base/
│ ├── install.yaml
│ └── kustomization.yaml
└── overlays/
├── production/
│ └── kustomization.yaml
└── development/
└── kustomization.yaml
Charts Helm : Une autre méthode consiste à utiliser les charts Helm pour installer et gérer Argo CD sur Kubernetes
helm repo add argo https://argoproj.github.io/argo-helm
helm install argocd argo/argo-cd -n argocd --create-namespace
Se Connecter à Argo CD Après avoir utilisé l’une des 3 méthodes:
Après avoir installé Argo CD, vous devrez vous connecter pour gérer vos applications et clusters Kubernetes. Voici les étapes pour se connecter à Argo CD :
Obtenir le mot de passe d’administration:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Si vous utilisez minikube activer le port-forwarding
kubectl port-forward --address 0.0.0.0 svc/argocd-server -n argocd 8080:443
Ouvrez votre navigateur et allez à https://:8080. Utilisez les informations d’identification suivantes :
- Nom d’utilisateur : admin
- Mot de passe : (Le mot de passe que vous avez obtenu à l’étape 1)