SlideShare une entreprise Scribd logo
Vivez sans peur, Vivez vraiment !
Jazzy July
05/07/2023
Un Grand Merci À
Qui sommes-nous ?
Alexis Ducastel
Rémi Verchère
Agenda
● Stockage opensource polyvalent et scalable sur Kubernetes avec Rook Ceph
● Optimisez vos Requests et Limits dans Kubernetes
● Surprise(s)
● Apéro / Jeux
Stockage sur Kubernetes avec Rook Ceph
Stockage sur Kubernetes
avec Rook Ceph
expliqué à un enfant de 35 ans…
Stockage sur Kubernetes avec Rook Ceph
Lui, c'est Bob
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
Bob a un Raspberry PI et
utilise des conteneurs pour
ses projets
Il voudrait faire du K8S,
mais quid du stockage ?
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
Il choisit pour le stockage,
un "Local Path Provisioner"
Avec un seul noeud dans
son cluster, c'est simple !
Simple
V Léger
V
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
Mais pour assurer la haute-
disponibilité et la scalabilité
d'un de ses projets, Bob a
besoin de plusieurs noeuds
dans son cluster
Kubernetes
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
Problème ! Les
Local Path Provisioner ne
correspondent plus !
Pb serveur = Donnée perdue
X
Pas de scalabilité
X
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
Bob rêve d'une techno
qui sache tout faire, et
qui ne coûte pas trop cher
RWO
V RWX
V ROX
V
Scalabilité
V Durabilité
V
Object storage
V Snapshots
V
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
La solution :
Image by Freepik
Stockage sur Kubernetes avec Rook Ceph
Y'a quoi dans un cluster Ceph ?
Image by Freepik
Attention !
3 / 5 sur l'échelle du doliprane
Stockage sur Kubernetes avec Rook Ceph
Y'a quoi dans un cluster Ceph ?
Image by Freepik
Ceph Metadata
data
CephFS Metadata
Manager/Dashboard
Ceph CLI
Stockage sur Kubernetes avec Rook Ceph
Comment ça fonctionne Ceph ?
Image by Freepik
Attention !
4 / 5 sur l'échelle du doliprane
Stockage sur Kubernetes avec Rook Ceph
Comment ça fonctionne Ceph ?
Image by Freepik
Distribution Réplication
RF3
Stockage sur Kubernetes avec Rook Ceph
Un parallèle avec Kubernetes ?
Image by Freepik
Distribution Réplication
RF3
Stockage sur Kubernetes avec Rook Ceph
Comment ça marche avec Rook ?
Image by Freepik
Détendez-vous !
1 / 5 sur l'échelle du doliprane
Stockage sur Kubernetes avec Rook Ceph
Comment ça marche avec Rook ?
Image by Freepik
Installation
V Mise à jour
V
gère
Discovery
V
Stockage sur Kubernetes avec Rook Ceph
Ca consomme beaucoup ?
Image by Freepik
Noeuds recommandés :
- en hyperconvergence : min 8c/32Gi
- noeuds dédiés Ceph : min 4c/16Gi
3 mon (2 cpu/2 Gi)
+ 2 mgr (1 cpu/1 Gi)
+ 3(+) osd (1 cpu/4 Gi)
+ operator/tools/csi/crash/… (2 cpu/2 Gi)
—------------------------------------------
Total : 14 cpu/22 Gi minimum pour Ceph
Stockage sur Kubernetes avec Rook Ceph
Démo time !!
Image by Freepik
AUcune donnée ne sera maltraitée …
normalement du moins …
Optimisez vos Requests et Limits
dans Kubernetes
Optimisez vos Requests et Limits dans Kubernetes
Agenda
● (R)appel Requests & Limits dans Kubernetes
● Stratégies : VPA, HPA, HCA, HHC, …
● KRR : Démo !
● Goldilocks : Démo !
● Nouveautés K8S 1.27
● Q/A : Apéro !
Spoiler : beaucoup d’images piquées de chez Sysdig, qui explique bien les choses
(R)appel Requests & Limits
Requests: Ressources
nécessaires pour scheduling du
pod sur un node
Limits: Ressources maximum
qu’un node peut allouer à un pod
Définition se fait au niveau du
conteneur
🫣
(R)appel Requests & Limits
CPU :
● Ressource compressible
● millicores (1000m = 1 core)
● shares : 1024 par core
Risques :
● CPU Throttling -> exponentielle avec les multicores
● Voir “Misérable vie d’une instruction CPU” de Samuel Ortiz
(R)appel Requests & Limits
RAM :
● Ressource non compressible
● bytes (Mi : Mebibytes)
Risques :
● OOMKilled !!
(R)appel Requests & Limits
Stratégies de QoS
● Ni Requests, ni limits : Best Effort
● Requests < Limits : Burstable
● Requests = Limits : Guaranteed
Attention aux évictions & non-scheduled pods !
● PriorityClasses pour les pods critiques
(R)appel Requests & Limits
(R)appel Requests & Limits
Quel sizing alors ? Well, it depends..
Stratégies
1. Namespaces Quotas
1. Pods & Cluster Autoscaling
1. Resource Tracking
Stratégie Namespaces
Namespace ResourceQuota
- Limiter les ressources dans un namespace
Namespace LimitRange
- Restriction des requests / limits sur les ressources dans un NS
- Équivalent règle Kyverno ?
Stratégie HPA : Horizontal Pod Autoscaler (Scale
Out)
- Nouveau Pod lorsque limites atteintes
- Utile pour les microservices avec réplicas
- Par défaut sur CPU/RAM (metrics-server)
- Autres métriques via Prometheus (net latency)
- Temps de réaction ? Serverless / Event Driven
- Voir “Keda”, “Knative”, …
Stratégie HCA : Horizontal Cluster Autoscaler
- Si plus de nodes dispos:
Nouveau node
- Fourni par les CSP
Stratégie VPA : Vertical Pod Autoscaler (Scale Up)
- Pas par défaut, à installer
- Si manque de ressources, on augmente les Requests & Limits du conteneur
- 3 composants
- Recommender
- Updater
- Admission Controller
- Plusieurs modes
- Recreate
- Initial
- Off
Stratégie VPA : Vertical Pod Autoscaler (Scale Up)
- Besoin de créer une ressource particulière de type “Vertical Pod Autoscaler”
- A ne pas utiliser avec HPA
- Restart du conteneur*
- Fournit des métriques
- Calcul : Voir ici ;)
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: my-app-vpa
spec:
targetRef:
apiVersion: "apps/v1"
kind: Deployment
name: my-app
updatePolicy:
updateMode: "Auto"
Stratégie Resource Tracking
- Méthode 1 : Au doigt mouillé ☝️
- Méthode 2 : Grâce aux métriques !
- Prometheus (ou Datadog pour faire plaisir à Frédéric)
- VPA (rappelez-vous !)
Robustadev - Krr
- https://github.com/robusta-dev/krr
- “Prometheus-based Kubernetes Resource Recommendations”
- Sans agent, basé sur métriques prom ou autres, extensible, possibilité run in-
cluster périodique (notifs Slack)
Robustadev - Krr
Démo !
Warning : light theme !
Fairwinds - Goldilocks
- https://goldilocks.docs.fairwinds.com/
- “Get your resource requests "Just Right"”
- Automatise les VPA en mode recommendation + tableau de bord
Fairwinds - Goldilocks
Démo !
Stratégies
Requests, Limits ?
● CPU Requests, No Limits
● RAM Requests = Limits
https://home.robusta.dev/blog/stop-using-cpu-limits
Nouveautés K8S 1.27
● In-place Resource Resize for Kubernetes Pods (alpha)
“In Kubernetes v1.27, we have added a new alpha feature that allows users to resize CPU/memory
resources allocated to pods without restarting the containers”
● HorizontalPodAutoscaler ContainerResource type metric moves to beta
“Kubernetes 1.20 introduced the ContainerResource type metric in HorizontalPodAutoscaler (HPA).
In Kubernetes 1.27, this feature moves to beta and the corresponding feature gate (HPAContainerMetrics)
gets enabled by default.”
● Quality-of-Service for Memory Resources (alpha)
“Support for Memory QoS was initially added in Kubernetes v1.22, and later some limitations around the
formula for calculating memory.high were identified. These limitations are addressed in Kubernetes v1.27.”
Des questions ?
Non ? Tant mieux ;)
Sources & images :
- https://sysdig.com/blog/kubernetes-limits-requests/
- https://sysdig.com/blog/monitoring-custom-metrics/
- https://sysdig.com/blog/kubernetes-cpu-requests-limits-autoscaling/
- https://sysdig.com/blog/kubernetes-capacity-planning/
- https://sysdig.com/blog/kubernetes-autoscaler/
- https://sysdig.com/blog/millions-wasted-kubernetes/
- https://sysdig.com/blog/kubernetes-1-27-whats-new/
- https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-using-cluster-
autoscaler?id=kb_article_view&sysparm_article=KB0055361
Rétrospective
8 meetups + 1
9 jeux de mot douteux
8 quizz pas sérieux
Aix 4 / Marseille 4
● Infisical
● Victoria Metrics
● OpenTelemetry
● R2devops
● Dagger
● KeyCloack
● Godilocks et Krr
● Rook
● Github copilot
● Github actions
● Pulumi
● Argocd
● Dev Containers
● Docusaurus
● Tilt
● Grafana
● Velero
● CrossPlane
18 sujets
Sans compter les digressions…
9 speakers
Vous !
● 860 membres !!!
● Environ 30 participants par meetups
● Grande variabilité
● Des profils plus variés
Futur
● Plus de speakers
● Plus de représentativité
● Encore plus de régularité
● Des événements spéciaux
meetup.com/Devops-Aix-
Marseille
ibd.sh/openbar
Let’s play !
Apero !

Contenu connexe

Tendances

Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
DevOpsDays Tel Aviv
 
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko VancsaStarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
Vietnam Open Infrastructure User Group
 
Linux network stack
Linux network stackLinux network stack
Linux network stack
Takuya ASADA
 
Apache Pulsar Overview
Apache Pulsar OverviewApache Pulsar Overview
Apache Pulsar Overview
Streamlio
 
CICD using jenkins and Nomad
CICD using jenkins and NomadCICD using jenkins and Nomad
CICD using jenkins and Nomad
Bram Vogelaar
 
20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要
Airi Furukawa
 
Model Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and VertaModel Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and Verta
Databricks
 
Rethinking Cloud Proxies
Rethinking Cloud ProxiesRethinking Cloud Proxies
Rethinking Cloud Proxies
Mikey Cohen - Hiring Amazing Engineers
 
ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-short
NAVER D2
 
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
StreamNative
 
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureServerless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Kai Wähner
 
Virtualization Support in ARMv8+
Virtualization Support in ARMv8+Virtualization Support in ARMv8+
Virtualization Support in ARMv8+
Aananth C N
 
Applying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine CodeApplying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine Code
Teodoro Cipresso
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
NTT Software Innovation Center
 
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationRedis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
rjsmelo
 
Implementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing ProjectImplementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing Project
RTTS
 
System Monitoring With Nagios PowerPoint Presentation Slides
System Monitoring With Nagios PowerPoint Presentation SlidesSystem Monitoring With Nagios PowerPoint Presentation Slides
System Monitoring With Nagios PowerPoint Presentation Slides
SlideTeam
 
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
オラクルエンジニア通信
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
confluent
 

Tendances (20)

Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
 
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko VancsaStarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
 
Linux network stack
Linux network stackLinux network stack
Linux network stack
 
Apache Pulsar Overview
Apache Pulsar OverviewApache Pulsar Overview
Apache Pulsar Overview
 
CICD using jenkins and Nomad
CICD using jenkins and NomadCICD using jenkins and Nomad
CICD using jenkins and Nomad
 
20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要
 
Model Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and VertaModel Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and Verta
 
Rethinking Cloud Proxies
Rethinking Cloud ProxiesRethinking Cloud Proxies
Rethinking Cloud Proxies
 
ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-short
 
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
 
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureServerless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
 
Virtualization Support in ARMv8+
Virtualization Support in ARMv8+Virtualization Support in ARMv8+
Virtualization Support in ARMv8+
 
Applying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine CodeApplying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine Code
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
 
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationRedis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
 
Implementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing ProjectImplementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing Project
 
System Monitoring With Nagios PowerPoint Presentation Slides
System Monitoring With Nagios PowerPoint Presentation SlidesSystem Monitoring With Nagios PowerPoint Presentation Slides
System Monitoring With Nagios PowerPoint Presentation Slides
 
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
 

Similaire à slides meetup devops aix-marseille - juillet 2023

Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...
Mathias Kluba
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm
 
Zimbra Forum France 2016 - Beezim and Ceph
Zimbra Forum France 2016 - Beezim and CephZimbra Forum France 2016 - Beezim and Ceph
Zimbra Forum France 2016 - Beezim and Ceph
Zimbra
 
A la découverte de kubernetes
A la découverte de kubernetesA la découverte de kubernetes
A la découverte de kubernetes
Julien Maitrehenry
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
Christophe Furmaniak
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
Noureddine BOUYAHIAOUI
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
MSDEVMTL
 
2023-02-02 - Marvelous March
2023-02-02 - Marvelous March2023-02-02 - Marvelous March
2023-02-02 - Marvelous March
Frederic Leger
 
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécuritéLe Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
Noureddine BOUYAHIAOUI
 
Kubernetes (k8s).pdf
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
Jaouad Assabbour
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
Xavier MARIN
 
Suivre l'évolution du covid19 sur RaspberryPi avec la suite Elastic
Suivre l'évolution du covid19 sur RaspberryPi avec la suite ElasticSuivre l'évolution du covid19 sur RaspberryPi avec la suite Elastic
Suivre l'évolution du covid19 sur RaspberryPi avec la suite Elastic
Idriss Neumann
 
Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Steven VAN POECK
 
Formation Google App Engine
Formation Google App EngineFormation Google App Engine
Formation Google App Engine
Abdelhakim Rhanizar
 
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvPres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
BilelBoulehmi
 
The real WAX ROADSHOW K8S 2022.pdf
The real WAX ROADSHOW K8S 2022.pdfThe real WAX ROADSHOW K8S 2022.pdf
The real WAX ROADSHOW K8S 2022.pdf
François Berthault
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potential
OVHcloud
 
Jeudis du Libre - MySQL InnoDB Cluster
Jeudis du Libre - MySQL InnoDB ClusterJeudis du Libre - MySQL InnoDB Cluster
Jeudis du Libre - MySQL InnoDB Cluster
Frederic Descamps
 
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
Publicis Sapient Engineering
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 

Similaire à slides meetup devops aix-marseille - juillet 2023 (20)

Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
 
Zimbra Forum France 2016 - Beezim and Ceph
Zimbra Forum France 2016 - Beezim and CephZimbra Forum France 2016 - Beezim and Ceph
Zimbra Forum France 2016 - Beezim and Ceph
 
A la découverte de kubernetes
A la découverte de kubernetesA la découverte de kubernetes
A la découverte de kubernetes
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
2023-02-02 - Marvelous March
2023-02-02 - Marvelous March2023-02-02 - Marvelous March
2023-02-02 - Marvelous March
 
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécuritéLe Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
 
Kubernetes (k8s).pdf
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Suivre l'évolution du covid19 sur RaspberryPi avec la suite Elastic
Suivre l'évolution du covid19 sur RaspberryPi avec la suite ElasticSuivre l'évolution du covid19 sur RaspberryPi avec la suite Elastic
Suivre l'évolution du covid19 sur RaspberryPi avec la suite Elastic
 
Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?
 
Formation Google App Engine
Formation Google App EngineFormation Google App Engine
Formation Google App Engine
 
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvPres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
 
The real WAX ROADSHOW K8S 2022.pdf
The real WAX ROADSHOW K8S 2022.pdfThe real WAX ROADSHOW K8S 2022.pdf
The real WAX ROADSHOW K8S 2022.pdf
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potential
 
Jeudis du Libre - MySQL InnoDB Cluster
Jeudis du Libre - MySQL InnoDB ClusterJeudis du Libre - MySQL InnoDB Cluster
Jeudis du Libre - MySQL InnoDB Cluster
 
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 

Plus de Frederic Leger

Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...
Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...
Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...
Frederic Leger
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
2024-04 slides meetup devops aix marseille
2024-04 slides meetup devops aix marseille2024-04 slides meetup devops aix marseille
2024-04 slides meetup devops aix marseille
Frederic Leger
 
2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille
Frederic Leger
 
KubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleKubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-Marseille
Frederic Leger
 
meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023
Frederic Leger
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experience
Frederic Leger
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023
Frederic Leger
 
slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023
Frederic Leger
 
meetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish Aprilmeetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish April
Frederic Leger
 
2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx
Frederic Leger
 
2022-11-22 - November Rain
2022-11-22 - November Rain2022-11-22 - November Rain
2022-11-22 - November Rain
Frederic Leger
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
Frederic Leger
 
Maltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoMaltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falco
Frederic Leger
 
Voyage en terre du multi-cloud
Voyage en terre du multi-cloudVoyage en terre du multi-cloud
Voyage en terre du multi-cloud
Frederic Leger
 
Meetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceMeetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a Service
Frederic Leger
 
Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019
Frederic Leger
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devops
Frederic Leger
 
Lightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesLightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernes
Frederic Leger
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Frederic Leger
 

Plus de Frederic Leger (20)

Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...
Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...
Vol WAX 2024 - la chaîne de valeur propulsée par le Platform Engineering chez...
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
2024-04 slides meetup devops aix marseille
2024-04 slides meetup devops aix marseille2024-04 slides meetup devops aix marseille
2024-04 slides meetup devops aix marseille
 
2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille
 
KubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleKubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-Marseille
 
meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experience
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023
 
slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023
 
meetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish Aprilmeetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish April
 
2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx
 
2022-11-22 - November Rain
2022-11-22 - November Rain2022-11-22 - November Rain
2022-11-22 - November Rain
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
 
Maltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoMaltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falco
 
Voyage en terre du multi-cloud
Voyage en terre du multi-cloudVoyage en terre du multi-cloud
Voyage en terre du multi-cloud
 
Meetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceMeetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a Service
 
Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devops
 
Lightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesLightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernes
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
 

slides meetup devops aix-marseille - juillet 2023

  • 1. Vivez sans peur, Vivez vraiment ! Jazzy July 05/07/2023
  • 3. Qui sommes-nous ? Alexis Ducastel Rémi Verchère
  • 4. Agenda ● Stockage opensource polyvalent et scalable sur Kubernetes avec Rook Ceph ● Optimisez vos Requests et Limits dans Kubernetes ● Surprise(s) ● Apéro / Jeux
  • 5. Stockage sur Kubernetes avec Rook Ceph Stockage sur Kubernetes avec Rook Ceph expliqué à un enfant de 35 ans…
  • 6. Stockage sur Kubernetes avec Rook Ceph Lui, c'est Bob Image by Freepik
  • 7. Stockage sur Kubernetes avec Rook Ceph Bob a un Raspberry PI et utilise des conteneurs pour ses projets Il voudrait faire du K8S, mais quid du stockage ? Image by Freepik
  • 8. Stockage sur Kubernetes avec Rook Ceph Il choisit pour le stockage, un "Local Path Provisioner" Avec un seul noeud dans son cluster, c'est simple ! Simple V Léger V Image by Freepik
  • 9. Stockage sur Kubernetes avec Rook Ceph Mais pour assurer la haute- disponibilité et la scalabilité d'un de ses projets, Bob a besoin de plusieurs noeuds dans son cluster Kubernetes Image by Freepik
  • 10. Stockage sur Kubernetes avec Rook Ceph Problème ! Les Local Path Provisioner ne correspondent plus ! Pb serveur = Donnée perdue X Pas de scalabilité X Image by Freepik
  • 11. Stockage sur Kubernetes avec Rook Ceph Bob rêve d'une techno qui sache tout faire, et qui ne coûte pas trop cher RWO V RWX V ROX V Scalabilité V Durabilité V Object storage V Snapshots V Image by Freepik
  • 12. Stockage sur Kubernetes avec Rook Ceph La solution : Image by Freepik
  • 13. Stockage sur Kubernetes avec Rook Ceph Y'a quoi dans un cluster Ceph ? Image by Freepik Attention ! 3 / 5 sur l'échelle du doliprane
  • 14. Stockage sur Kubernetes avec Rook Ceph Y'a quoi dans un cluster Ceph ? Image by Freepik Ceph Metadata data CephFS Metadata Manager/Dashboard Ceph CLI
  • 15. Stockage sur Kubernetes avec Rook Ceph Comment ça fonctionne Ceph ? Image by Freepik Attention ! 4 / 5 sur l'échelle du doliprane
  • 16. Stockage sur Kubernetes avec Rook Ceph Comment ça fonctionne Ceph ? Image by Freepik Distribution Réplication RF3
  • 17. Stockage sur Kubernetes avec Rook Ceph Un parallèle avec Kubernetes ? Image by Freepik Distribution Réplication RF3
  • 18. Stockage sur Kubernetes avec Rook Ceph Comment ça marche avec Rook ? Image by Freepik Détendez-vous ! 1 / 5 sur l'échelle du doliprane
  • 19. Stockage sur Kubernetes avec Rook Ceph Comment ça marche avec Rook ? Image by Freepik Installation V Mise à jour V gère Discovery V
  • 20. Stockage sur Kubernetes avec Rook Ceph Ca consomme beaucoup ? Image by Freepik Noeuds recommandés : - en hyperconvergence : min 8c/32Gi - noeuds dédiés Ceph : min 4c/16Gi 3 mon (2 cpu/2 Gi) + 2 mgr (1 cpu/1 Gi) + 3(+) osd (1 cpu/4 Gi) + operator/tools/csi/crash/… (2 cpu/2 Gi) —------------------------------------------ Total : 14 cpu/22 Gi minimum pour Ceph
  • 21. Stockage sur Kubernetes avec Rook Ceph Démo time !! Image by Freepik AUcune donnée ne sera maltraitée … normalement du moins …
  • 22. Optimisez vos Requests et Limits dans Kubernetes
  • 23. Optimisez vos Requests et Limits dans Kubernetes Agenda ● (R)appel Requests & Limits dans Kubernetes ● Stratégies : VPA, HPA, HCA, HHC, … ● KRR : Démo ! ● Goldilocks : Démo ! ● Nouveautés K8S 1.27 ● Q/A : Apéro ! Spoiler : beaucoup d’images piquées de chez Sysdig, qui explique bien les choses
  • 24. (R)appel Requests & Limits Requests: Ressources nécessaires pour scheduling du pod sur un node Limits: Ressources maximum qu’un node peut allouer à un pod Définition se fait au niveau du conteneur 🫣
  • 25. (R)appel Requests & Limits CPU : ● Ressource compressible ● millicores (1000m = 1 core) ● shares : 1024 par core Risques : ● CPU Throttling -> exponentielle avec les multicores ● Voir “Misérable vie d’une instruction CPU” de Samuel Ortiz
  • 26. (R)appel Requests & Limits RAM : ● Ressource non compressible ● bytes (Mi : Mebibytes) Risques : ● OOMKilled !!
  • 27. (R)appel Requests & Limits Stratégies de QoS ● Ni Requests, ni limits : Best Effort ● Requests < Limits : Burstable ● Requests = Limits : Guaranteed Attention aux évictions & non-scheduled pods ! ● PriorityClasses pour les pods critiques
  • 29. (R)appel Requests & Limits Quel sizing alors ? Well, it depends..
  • 30. Stratégies 1. Namespaces Quotas 1. Pods & Cluster Autoscaling 1. Resource Tracking
  • 31. Stratégie Namespaces Namespace ResourceQuota - Limiter les ressources dans un namespace Namespace LimitRange - Restriction des requests / limits sur les ressources dans un NS - Équivalent règle Kyverno ?
  • 32. Stratégie HPA : Horizontal Pod Autoscaler (Scale Out) - Nouveau Pod lorsque limites atteintes - Utile pour les microservices avec réplicas - Par défaut sur CPU/RAM (metrics-server) - Autres métriques via Prometheus (net latency) - Temps de réaction ? Serverless / Event Driven - Voir “Keda”, “Knative”, …
  • 33. Stratégie HCA : Horizontal Cluster Autoscaler - Si plus de nodes dispos: Nouveau node - Fourni par les CSP
  • 34. Stratégie VPA : Vertical Pod Autoscaler (Scale Up) - Pas par défaut, à installer - Si manque de ressources, on augmente les Requests & Limits du conteneur - 3 composants - Recommender - Updater - Admission Controller - Plusieurs modes - Recreate - Initial - Off
  • 35. Stratégie VPA : Vertical Pod Autoscaler (Scale Up) - Besoin de créer une ressource particulière de type “Vertical Pod Autoscaler” - A ne pas utiliser avec HPA - Restart du conteneur* - Fournit des métriques - Calcul : Voir ici ;) apiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: my-app-vpa spec: targetRef: apiVersion: "apps/v1" kind: Deployment name: my-app updatePolicy: updateMode: "Auto"
  • 36. Stratégie Resource Tracking - Méthode 1 : Au doigt mouillé ☝️ - Méthode 2 : Grâce aux métriques ! - Prometheus (ou Datadog pour faire plaisir à Frédéric) - VPA (rappelez-vous !)
  • 37. Robustadev - Krr - https://github.com/robusta-dev/krr - “Prometheus-based Kubernetes Resource Recommendations” - Sans agent, basé sur métriques prom ou autres, extensible, possibilité run in- cluster périodique (notifs Slack)
  • 38. Robustadev - Krr Démo ! Warning : light theme !
  • 39. Fairwinds - Goldilocks - https://goldilocks.docs.fairwinds.com/ - “Get your resource requests "Just Right"” - Automatise les VPA en mode recommendation + tableau de bord
  • 41. Stratégies Requests, Limits ? ● CPU Requests, No Limits ● RAM Requests = Limits https://home.robusta.dev/blog/stop-using-cpu-limits
  • 42. Nouveautés K8S 1.27 ● In-place Resource Resize for Kubernetes Pods (alpha) “In Kubernetes v1.27, we have added a new alpha feature that allows users to resize CPU/memory resources allocated to pods without restarting the containers” ● HorizontalPodAutoscaler ContainerResource type metric moves to beta “Kubernetes 1.20 introduced the ContainerResource type metric in HorizontalPodAutoscaler (HPA). In Kubernetes 1.27, this feature moves to beta and the corresponding feature gate (HPAContainerMetrics) gets enabled by default.” ● Quality-of-Service for Memory Resources (alpha) “Support for Memory QoS was initially added in Kubernetes v1.22, and later some limitations around the formula for calculating memory.high were identified. These limitations are addressed in Kubernetes v1.27.”
  • 43. Des questions ? Non ? Tant mieux ;) Sources & images : - https://sysdig.com/blog/kubernetes-limits-requests/ - https://sysdig.com/blog/monitoring-custom-metrics/ - https://sysdig.com/blog/kubernetes-cpu-requests-limits-autoscaling/ - https://sysdig.com/blog/kubernetes-capacity-planning/ - https://sysdig.com/blog/kubernetes-autoscaler/ - https://sysdig.com/blog/millions-wasted-kubernetes/ - https://sysdig.com/blog/kubernetes-1-27-whats-new/ - https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-using-cluster- autoscaler?id=kb_article_view&sysparm_article=KB0055361
  • 45. 8 meetups + 1 9 jeux de mot douteux 8 quizz pas sérieux Aix 4 / Marseille 4
  • 46. ● Infisical ● Victoria Metrics ● OpenTelemetry ● R2devops ● Dagger ● KeyCloack ● Godilocks et Krr ● Rook ● Github copilot ● Github actions ● Pulumi ● Argocd ● Dev Containers ● Docusaurus ● Tilt ● Grafana ● Velero ● CrossPlane 18 sujets Sans compter les digressions…
  • 48. Vous ! ● 860 membres !!! ● Environ 30 participants par meetups ● Grande variabilité ● Des profils plus variés
  • 49. Futur ● Plus de speakers ● Plus de représentativité ● Encore plus de régularité ● Des événements spéciaux