Infrastructure, big data, bases de données, Kubernetes, load balancing, SaaS, PaaS, IaaS… À l’image de nos OVHcloud Meetups (comme ceux de Paris, Rennes ou Brest), les sujets des OVHcloud Tech Talks sont divers et variés, basés sur le partage de connaissance et les retours d’expérience, et toujours faits par des tech pour des tech.
3. @OVHcloud_fr #OVHcloudTechTalks
À propos de moi
Dat e
Foot er canbeper sonalizedas
f ollow: I nser t /Header andf oot er
3
• DevOps
• Amoureux d'automatisation
• Kubernetes addict
• 4 ans chez OVHcloud
Pierre Péronnet
holyhope
4. @OVHcloud_fr #OVHcloudTechTalks
L’originedu projet
Nouveau service pour les clients OVH
Notamment les clients Kubernetes
existants… Mais pas que… ☺
Début en janvier 2019
▶ Stocker des images docker
▶ Haute disponibilité & scalable
▶ Gestion de namespace et d’utilisateur (RBAC)
▶ Stocker les charts Helm
▶ Scan de vulnerabilité
▶ Signature des images
▶ …
7. @OVHcloud_fr #OVHcloudTechTalks
L esco mpo sa ntsH a rbo r
Dat e
Foot er canbeper sonalizedas
f ollow: I nser t /Header andf oot er
7
▶ Stocker des images docker
▶ Haute disponibilité & scalable
▶ Gestion de namespace et d’utilisateur
▶ Stocker les charts Helm
▶ Scan de vulnerabilité
▶ Signature des images
▶ …
8. @OVHcloud_fr #OVHcloudTechTalks
Dat e
Foot er canbeper sonalizedas
f ollow: I nser t /Header andf oot er
H a rbo r,fa cileà déplo yer
8
$ helm install … Et hop
Quid de la configuration ?
o Volume Kubernetes 200 Giga?
Oui mais…
o Pods nginx pour router les requêtes ?
Oui mais…
o Une db par clients ?
Oui mais…
o Pods éparpillés dans le cluster ?
Oui mais…
9. @OVHcloud_fr #OVHcloudTechTalks
Les besoinsd’un cloud provider
o Un Harbor par client
• Chacun ses affaires et les baleines seront bien gardées
• Déploiement à la volée
o Mutualisation des outils (données isolées)
• Réduction des coûts
• Réduction des services à monitorer
o Réutilisation des services existants
• Postgresql as a service
• Redis as a service
• Ingress controller pour router les clients
• Object Storage as a service
• …
o Monitoring
• Monitoring Plateforme
• Monitoring applicatif
• Monitoring « métier »
10. @OVHcloud_fr #OVHcloudTechTalks
Vérification des
entrées
• Standard
• Centralisé
• Automatisé
Évènementiel
• Optimisation des
requêtes
• Instantanéité du
traitement
Gestion des
accès
• Protocol désiré
Intégré avec les
autres API
• Protocol commun
• Accès centralisés
• Ressources
modifiables
WebHooks
• Évènementiel
• Modularité
Code métier
API Extensible
• API-ception
• Versionned
Les besoinsd’un cloud provider … Un Opérateur !
Intégration à Kubernetes, une nécessité
12. @OVHcloud_fr #OVHcloudTechTalks
Rétrospectivedu développement
janvier 2019
• Étude
• Réflexion
Avril
• POC avec une
machine à kubectl
Mai
• Début de
l'automatisation
Juin
• Ouverture de la beta
Juin 2019
• Ouverture de la beta
Aout
• Développement de
l'opérateur
Octobre
• Discussion avec les
équipes Harbor
Mars 2020
• Mise en production
• Ouverture du code
Avril
• Talk <3
13. @OVHcloud_fr #OVHcloudTechTalks
L a bo uclederéco ncilia tio n
Réconcilier une stack Harbor
Pas si facile que ça…
Beaucoup de composants
Beaucoup d’états possibles
Beaucoup de dépendances externes
En cas d’erreur
Peut-être corrigée?
14. @OVHcloud_fr #OVHcloudTechTalks
Bea uco up debeso inspo urrépo ndreà to us
o OVHcloud sort l’artillerie lourde
• En fait ce n’est pas si lourd que ca… ;-)
o Le projet va permettre de manager des stacks Harbor aisément
• Réponse à tout nos problèmes
15. @OVHcloud_fr #OVHcloudTechTalks
Contenu du dépôt
▶ 1 Custom Resource Définition
▶ 1 Controller pour réconcilier la ressource
▶ 7 Composants
• 7 Déploiements et services
• Secrets et Carte de configuration
• Ingress
• Certificats
▶ Oui l’opérateur s’appuie sur d’autres
opérateurs
15
16. @OVHcloud_fr #OVHcloudTechTalks
Fo nctio nna lités
✓ Déploiement de la stack Harbor entière
✓ OpenTracing
✓ Dans/en dehors du cluster Kubernetes (développeurs ♥️)
✓ Valeur par défaut
✓ Version 1.10 d’Harbor
❑ Plusieurs versions
❑ Plusieurs APIS
❑ Gestion des statuts des ressources externes
❑ Template de la chart Helm
17. @OVHcloud_fr #OVHcloudTechTalks
Po urla suite
❑ Plusieurs APIS
❑ Plusieurs versions
❑ Gestion des statuts des ressources externes
❑ Template de la chart Helm
We
Need
You