Skip to content

thfx31/Ynov_k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes – Environnement DevOps Cloud (DigitalOcean)

Ce projet met en place une infrastructure DevOps sur un cluster Kubernetes auto-géré (kubeadm), déployé de manière automatisée sur DigitalOcean.

Réalisation dans le cadre d'un TP Orchestration Kubernetes (Mastère Expert en cloud, sécurité & infrastructure 2024/2026)

Argo CD Dashboard


Architecture Layered GitOps

Le projet est organisé en couches pilotées par Argo CD. Chaque composant est déployé selon une hiérarchie précise via le modèle App-of-Apps :

Couche Rôle Composants
Layer-00 Fondations cloud CNI, CSI, CCM, Ingress-Nginx, Cert manager
Layer-01 Environnement Namespace
Layer-02 Data PostgreSQL (database pour Gitea)
Layer-03 Apps Gitea, Jenkins, Nginx-Front

Architecture de la forge CI/CD

Argo CD Dashboard Représentation des objects du namespace applicatif RT


Quick Start

1. Prérequis GitHub

Pour que les workflows fonctionnent, configurez les Secrets suivants dans votre dépôt GitHub (Settings > Secrets and variables > Actions) :

Secret Description
TF_API_TOKEN Token Terraform Cloud (si utilisé pour le State)
DO_TOKEN Token API DigitalOcean pour le provisionnement
DO_SSH_KEY_NAME Nom de votre clé SSH publique déjà présente sur DigitalOcean
SSH_PRIVATE_KEY Clé privée SSH (utilisée par Ansible pour configurer les nodes)
DOCKER_USERNAME User DockerHub
DOCKER_PASSWORD Token API DockerHub
POSTGRES_DB Nom de la DB Gitea
POSTGRES_USERNAME user de la DB Gitea
POSTGRES_PASSWORD Mot de passe de la DB Gitea

2. Déploiement

  • Allez dans l'onglet Actions du dépôt
  • Sélectionnez le workflow "Kubernetes platform deployment"
  • Cliquez sur Run workflow

3. Nettoyage des ressources

Pour détruire l'infrastructure sans laisser de ressources facturées :

  • Lancer le workflow "Kubernetes platform cleanup"
  • Ce script supprimera le loadbalancer et volumes avant de détruire les VMs

4. Accès aux services

Appli URL
Argo CD https://argocd.yourdomain
Nginx https://forge.yourdomain
Jenkins https://jenkins.yourdomain
Gitea https://gitea.yourdomain
Postgresql N/A

Documentation technique

L'infrastructure est documentée par étapes, de la création des ressources Cloud jusqu'à la maintenance applicative.

Infrastructure

Sécurité

GitOps

Opérations & cycle de vie


Auteurs

  • Projet réalisé par Thomas FAUROUX et Robin THIRIET
  • Mastère Expert en cloud, sécurité & infrastructure (2024-2026)

Licence

Ce projet est distribué sous licence MIT.
Vous pouvez librement le réutiliser et le modifier avec attribution.

About

TP M2 fin de module Kubernetes

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages