SlideShare une entreprise Scribd logo
1  sur  52
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

Project ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN
 
LAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel AwarenessLAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel AwarenessLinaro
 
Présentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECSPrésentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECSAlexandre LAHAYE
 
Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)Dan Kaminsky
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesVirtualTech Japan Inc.
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testingAntonio Ojea Garcia
 
High availability and fault tolerance of openstack
High availability and fault tolerance of openstackHigh availability and fault tolerance of openstack
High availability and fault tolerance of openstackDeepak Mane
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileRainer Gerhards
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編tzm_freedom
 
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...Red Bend Software
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...Tatsuya Watanabe
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMarkus Flechtner
 
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...NTT DATA Technology & Innovation
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダTakuya ASADA
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Giuseppe Paterno'
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 

Tendances (20)

Project ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN Device Passthrough Introduction
Project ACRN Device Passthrough Introduction
 
LAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel AwarenessLAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel Awareness
 
Présentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECSPrésentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECS
 
Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and Kubernetes
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testing
 
High availability and fault tolerance of openstack
High availability and fault tolerance of openstackHigh availability and fault tolerance of openstack
High availability and fault tolerance of openstack
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
 
Power Management from Linux Kernel to Android
Power Management from Linux Kernel to AndroidPower Management from Linux Kernel to Android
Power Management from Linux Kernel to Android
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
 
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編
 
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
Red Bend Software: Separation Using Type-1 Virtualization in Vehicles and Aut...
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
Sistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de TrabalhoSistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de Trabalho
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 

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 ConfigurationAlphorm
 
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 CephZimbra
 
A la découverte de kubernetes
A la découverte de kubernetesA la découverte de kubernetes
A la découverte de kubernetesJulien Maitrehenry
 
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 MarchFrederic 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
 
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 timeseriesXavier 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 ElasticIdriss 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
 
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.pdfFranç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 potentialOVHcloud
 
Jeudis du Libre - MySQL InnoDB Cluster
Jeudis du Libre - MySQL InnoDB ClusterJeudis du Libre - MySQL InnoDB Cluster
Jeudis du Libre - MySQL InnoDB ClusterFrederic 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 bassinLudovic Piot
 
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 bassinOxalide
 

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
 
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
 
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

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-marseilleFrederic Leger
 
KubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleKubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleFrederic 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 2023Frederic Leger
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experienceFrederic 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 2023Frederic Leger
 
meetup devops 2023-06-15
meetup devops 2023-06-15meetup devops 2023-06-15
meetup devops 2023-06-15Frederic Leger
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23Frederic 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 AprilFrederic Leger
 
2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptxFrederic Leger
 
2022-11-22 - November Rain
2022-11-22 - November Rain2022-11-22 - November Rain
2022-11-22 - November RainFrederic 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/2022Frederic 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 falcoFrederic Leger
 
Voyage en terre du multi-cloud
Voyage en terre du multi-cloudVoyage en terre du multi-cloud
Voyage en terre du multi-cloudFrederic 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 ServiceFrederic 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/2019Frederic Leger
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devopsFrederic 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 modernesFrederic 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ésilientesFrederic Leger
 
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesmeetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesFrederic Leger
 

Plus de Frederic Leger (19)

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 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-06-15
meetup devops 2023-06-15meetup devops 2023-06-15
meetup devops 2023-06-15
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23
 
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
 
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesmeetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
 

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