Commit 73e48496 authored by Rémi Cailletaud's avatar Rémi Cailletaud
Browse files

wip jres-2022

parent a565a9c7
......@@ -4,16 +4,17 @@ header-includes:
- '\usepackage[fixed]{fontawesome5}'
- '\definecolor{links}{HTML}{661100}'
- '\hypersetup{colorlinks,linkcolor=,urlcolor=links}'
- '\titlegraphic{\hfill\includegraphics[height=1.5cm]{osug.png}\includegraphics[height=1.5cm]{jres22.png}}'
title: Kubernetes à l'OSUG
subtitle: "Regards croisés administrateurs/utilisateurs"
author: R. Cailletaud - C. Coussot - J. Schaeffer - G. Mella - L. Bourgès - V. Chaffard
date: 18 mai 2022
institute: JRES 2022
titlegraphic: LOGO-JRES-2022.png
#titlegraphic: '`{\hfill\includegraphics[height=1.5cm]{LOGO-JRES-2022.png}`{=latex}'
aspectratio: 169
---
#  \faGlobeEurope L'OSUG
# \faGlobeEurope L'OSUG
* 9 unités de recherche, 5 équipes de recherche associées, 2 unités d'appui et de recherche (UAR)
* 28 Service Nationaux d'Observation (SNO)
......@@ -45,6 +46,9 @@ aspectratio: 169
* Clusters de production, de pré-production et de test
* Clusters et applications déployés en quelques minutes
* Utilisation de l'interface web Rancher pour les RBAC
\
\
![](./vsphere.png){height=45px} ![](./packer.png){height=45px} ![](./salt.png){height=45px} ![](./rancher.png){height=45px}
# \faServer L'infrastructure
......@@ -65,20 +69,20 @@ TODO: schema
:::
::::::::::::::
# Le stockage: vSAN
# \faDatabase Le stockage: vSAN
* Volume dynamique, intégration aux infrastructures sous-jacentes
* Support communautaire minimal
* Problèmes fréquents lors des màj
* Kubernetes _In-Tree_ CSI dépréciés
# Le stockage: NetApp Astra Trident
# \faDatabase Le stockage: NetApp Astra Trident
* Utilisation de SUMMER, la solution de stockage mutualisée de l'UGA
* Impossible d'utiliser certaines fonctionnalités offertes par l'intégration Trident
* Déploiement demandant des étapes manuelles ≠ Infrastructure As Code
# Le stockage: NFS Client Provisioner
# \faDatabase Le stockage: NFS Client Provisioner
* Le provisionneur du pauvre
* Simple création de répertoires
......@@ -86,7 +90,7 @@ TODO: schema
* Utilisation de SUMMER
* Simple, fonctionne partout: un serveur NFS suffit
# Le cas des base de données
# \faDatabase Le cas des base de données
* Solutions existantes (opérateurs Kubernetes)
* Manque de maturité à l'époque… Frilosité de l'administrateur !
......@@ -100,7 +104,7 @@ TODO: schema
* Connaissances systèmes limitées
* Candidates idéales mais accompagnement indispensable !
# L'architecture logicielle
# \faSitemap L'architecture logicielle
* Pas dogmatique : langage, framework, IDE non imposés !
* Des architectures similaires
......@@ -112,7 +116,7 @@ TODO: schema
* Possibilité de passage à l'échelle
# CI/CD/GitOps
# \faMagic CI/CD/GitOps
* Environnement idéal pour la mise en place d'automatisation
* Automatisation via des opérations Git
......@@ -121,9 +125,9 @@ TODO: schema
* Grande liberté pour les développeurs
* TODO: schéma
# CI/CD/GitOps: le schéma !
# \faMagic CI/CD/GitOps: le schéma !
# Les images de conteneurs
# \faDocker Les images de conteneurs
* Multiplication des images «maison»: danger !
* Des bonnes pratiques:
......@@ -141,14 +145,13 @@ TODO: schema
* RESIF
* brownfield
# La migration d'application
# \faTruckLoading La migration d'application
service statefull
volume statique
utilisation d'un large panel des fonctionnalités : startup/livenessprobes, cronjob
kustomize beta/prod et blue/green (topo blue/green)
java !
existdb !
* Services statefull (ex: eXist-db)
* Utilisation de volumes NFS statiques
* Utilisation d'un large panel des fonctionnalités : probes, cronjob
* Utilisation de `kustomize` pour staging/production et blue/green
* Java
# IV. Des cluster «jetables» !
......@@ -158,9 +161,9 @@ existdb !
* Solutions: des clusters «cattle»
* De zéro aux applications métiers !
# L'architecture générale
# \faSitemap L'architecture générale
```mermaid
```{.mermaid caption="Architecture" background=transparent width=600}
graph LR;
request(HTTP request) --> frontend
frontend(HAProxy Frontend) --> master1 & master2
......@@ -172,7 +175,7 @@ graph LR;
end
```
# Infrastructure As Code
# \faCode Infrastructure As Code
* Gestion de notre infrastructure (nos cluster K8s) via des fichiers descripteurs
* Utilisation de Packer pour les images de VM
......@@ -183,9 +186,9 @@ graph LR;
* vSphere
* __terraform-vsphere-rke2__
# Déploiement
# \faCogs Étapes du déploiement
```mermaid
```{.mermaid caption="Déploiement" background=transparent width=600}
graph TB;
terraform -- 1. Récupération IP<br>Ajout du DNS RR--> ipam.u-ga.fr
terraform -- 2. Ajout de la source de données ----> grafana.osug.fr
......@@ -193,18 +196,25 @@ graph TB;
terraform -- 3. Création du cluster K8s <br> ------> vsphere(vSphere OSUG)
```
# La gestion des secrets
# \faUserSecret La gestion des secrets
* Utilisation de Hashicorp Vault
* Création des droits nécessaires pour déchiffrer les secrets à la création du cluster
* Utilisation de Mozilla Sops, secrets dans le dépôt git du code de déploiement
* Utilisation de _clés de transit_:
* Accès à l'endpoint de chiffrement pour les développeurs
* Accès à l'endpoint de déchiffrement pour la solution de déploiement continu
# ArgoCD
# \faSync Déploiement continu
# Conclusion
# \faHourglassEnd Conclusion
séparation des rôles
dialogue
# Perspectives
# \faSun Perspectives
* utilisation pour analyse de données (utilisation de job etc)
* blablabla
* et bliblablo
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment