kubernetes avancé
Contexte #
Le but du projet est de mettre en place et gérer des pipelines CI/CD relativement complexes en utilisant Docker, Terraform, GitLab CI/CD, Kubernetes, ArgoCD, et Helm. Il tient compte des connaissances que vous avez acquises au cours des années précédentes sur une grande partie de ces différentes technologies. Les consignes du projet, en deux parties. L’objectif est de voir deux modèles de CI/CD différents, un en mode “push” (Gitlab CI/CD), un en mode “pull” (GitOps)
On va travailler sur differents environnemets, local et prod :
- k3d pour le développement local
- Azure Kubernetes Service (AKS) pour la production
Il est divisé en 2 parties : Partie 1: CI/CD avec GitLab et Kubernetes Partie 2: CI/CD avec ArgoCD
Plus de détails ici
Configuration de l’environnment local (MAC) #
k3d is a lightweight wrapper to run k3s (Rancher Lab’s minimal Kubernetes distribution) in docker.
Prérequis 🔑
Outil | Version | lien |
---|---|---|
Homebrew | 4.4.6 | ici |
Docker | 25.0.3 | ici |
helm | 3.16.3 | ici |
L’installation de k3d va se faire avec l’utilisation du package manager homebrew sur mac, pour cela on lance la commande :
brew install k3d
Après avoir lancé docker, on lance la commande :
k3d cluster create mycluster
Connexion de l’agent local avec Gitlab #
Déploiement de l’application en local #
argo cd
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
kubectl port-forward svc/argocd-server -n argocd 8888:443
kc create namespace ocf-core-namespace
kubectl create secret docker-registry gitlab-registry-secret -n ocf-core-namespace --docker-server=registry.gitlab.com --docker-username=nabilainas --docker-password=TOKEN --docker-email=EMAIL
kubectl port-forward svc/argocd-server -n argocd 8888:443
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
There's no articles to list here yet.