SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
Fonctionnalités et performances
des CNI pour Kubernetes
Illustration devops par @EricRibereau
Jeudi 15 Novembre 2018 - DEVOPS D-DAY - Marseille FRANCE Alexis Ducastel - infraBuilder
Qui suis-je ?
Alexis Ducastel
Président fondateur
Membre du groupement
Organisateur
meetup
Remerciements
Jeu
Tirage au sort après la présentation
Sommaire
1. Contexte
a. La gestion du réseau dans Kubernetes
b. Qu'est qu'une CNI
c. Sélection des CNI du comparatif
d. Environnement des tests
2. Comparatif
a. Installation
b. Sécurité
c. Pérennité
d. Performances
e. Consommation de ressources
3. Conclusion
Sommaire
1. Contexte
a. La gestion du réseau dans Kubernetes
b. Qu'est qu'une CNI
c. Sélection des CNI du comparatif
d. Environnement des tests
2. Comparatif
a. Installation
b. Sécurité
c. Pérennité
d. Performances
e. Consommation de ressources
3. Conclusion
Contexte : La gestion du réseau dans Kubernetes
CT CT
POD POD
POD Service
Internet Service
Namespace réseau
CNI
( Iptables / IPVS ) + DNS
LoadBalancer / Ingress
Contexte : La gestion du réseau dans Kubernetes
CT CT
POD POD
POD Service
Internet Service
Namespace réseau
CNI
( Iptables / IPVS ) + DNS
LoadBalancer / Ingress
Contexte : Qu'est qu'une CNI
We are the
knights
who say ...
CNI !
Contexte : Qu'est qu'une CNI
CNI = Container network Interface
Contexte : Qu'est qu'une CNI
"Overlay" = réseau virtuel géré par le plugin CNI
"Underlay" = Votre réseau physique
POD POD POD POD
Serveur Serveur Serveur
Plugin
CNI
Contexte : Sélection des CNI du comparatif
23
CNI
Référencées
ACI
AOS
Big Cloud Fabric
Calico
Canal
Cilium
CNI-Genie
Contiv
Contrail
DANM
Flannel
GCE
Jaguar
Knitter
Kube-router
L2
Multus
NSX-T
Nuage networks
OpenVSwitch
OVN
Romana
WeaveNet
Contexte : Sélection des CNI du comparatif
ACI
AOS
Big Cloud Fabric
Calico
Canal
Cilium
CNI-Genie
Contiv
Contrail
DANM
Flannel
GCE
Jaguar
Knitter
Kube-router
L2
Multus
NSX-T
Nuage networks
OpenVSwitch
OVN
Romana
WeaveNet
8
CNI dans la doc
d'install de kubeadm
Contexte : Sélection des CNI du comparatif
Juniper Contrail hors du comparatif
Module vrouter :
/opt/contrail/vrouter-kernel-modules/3.10.0-862.14.4.el7.x86_64/vrouter.ko
...
CENTOS 7.5
Contexte : Sélection des CNI du comparatif
CNI Version Date de release Description
Calico 3.3 22 Octobre 2018 L3 , BGP , ETCD
Canal 3.3 22 Octobre 2018 Calico (FW) + Flannel (Net)
Cilium 1.3.0 23 Octobre 2018 L3
Flannel 0.10.0 23 Janvier 2018 * L2 , VXLAN
Kube-router 0.2.1 10 Octobre 2018 L3, BGP, IPVS
Romana 2.0.2 7 Février 2018 L3
WeaveNet 2.4.1 13 Septembre 2018 L2 , VXLAN
Contexte : Environnement des tests
OS Ubuntu 18.04 LTS
Kernel version 4.15.0-38-generic (par défaut)
Carte réseau MTU 9000
Docker version 17.12.1-ce (par défaut)
Kubernetes version 1.12.2 (Sortie le 28 Octobre 2018)
Config switch ports en mode access, jumbo frames activés (MTU 9000)
Configuration logicielle
Contexte : Environnement des tests
Serveur Supermicro - CM X10SRW-F
CPU 1 * Intel(R) Xeon(R) CPU E5-1630 v3 (4C 8T @ 3.70GHz)
RAM 32Go DDR4
HDD : 4 * 300Go SSD Intel en RAID-0 HW (1267Mo/s lecture)
Réseau : Supermicro AOC-StGn-i2S, Intel 82599ES (10Gbit/s)
Câble DAC SFP+ passifs
3 X
1 X Switch Supermicro SSE-X3348SR (48p 10Gbits + 4p 40Gbit)
Master K8S
Minion K8S - Server
Minion K8S - Client
switch
Test
Sommaire
1. Contexte
a. La gestion du réseau dans Kubernetes
b. Qu'est qu'une CNI
c. Sélection des CNI du comparatif
d. Environnement des tests
2. Comparatif
a. Installation
b. Sécurité
c. Pérennité
d. Performances
e. Consommation de ressources
3. Conclusion
Comparatif : Préambule
Très bien
Bien
Passable
Mauvais
Comparatif : Installation
CNI Simplicité Tolerations MTU Correction
Calico ConfigMap
Canal ConfigMap
Cilium Install manuelle ETCD
Flannel
Kube-router ConfigMap
Romana Deploy + Daemonset
WeaveNet ENV var
Comparatif : Sécurité
CNI Cryptage Network Policies
Calico Non Ingress + Egress
Canal Non Ingress + Egress
Cilium Non Ingress + Egress
Flannel Non Non
Kube-router Non Ingress
Romana Non Doc=oui, Réalité=non
WeaveNet Optionnel Ingress
Comparatif : Pérennité
CNI kubeadm KOPS Kubespray RKE Juju
Calico
Canal
Cilium
Flannel
Kube-router
Romana
WeaveNet
Comparatif : Pérennité
CNI Commits / 1 mois Contributeurs Commits / année Support
Calico 55 87 Tigera
Canal 2 20 Tigera
Cilium 516 76 -
Flannel 3 112 -
Kube-router 9 40 -
Romana 0 10 -
WeaveNet 9 61 WeaveWorks
Comparatif : Performances
Comparatif : Performances
Comparatif : Performances
Comparatif : Performances
Comparatif : Performances
Comparatif : Performances
Comparatif : Performances
Comparatif : Performances
CNI TCP UDP HTTP FTP SCP
Calico
Canal
Cilium
Flannel
Kube-router
Romana
WeaveNet
WeaveNet Crypt
Comparatif : Ressources
Comparatif : Ressources
Comparatif : Ressources
CNI RAM CPU
Calico
Canal
Cilium
Flannel
Kube-router
Romana
WeaveNet
WeaveNet Crypt
Sommaire
1. Contexte
a. La gestion du réseau dans Kubernetes
b. Qu'est qu'une CNI
c. Sélection des CNI du comparatif
d. Environnement des tests
2. Comparatif
a. Installation
b. Sécurité
c. Pérennité
d. Performances
e. Consommation de ressources
3. Conclusion
Conclusion : Récapitulatif
CNI Install Sécurité Pérennité Perfs Conso
Calico
Canal
Cilium
Flannel
Kube-router
Romana
WeaveNet
WeaveNet Crypt
Conclusion : Récapitulatif
CNI Install Sécurité Pérennité Perfs Conso
Calico
Canal
Cilium
Flannel
Kube-router
Romana
WeaveNet
WeaveNet Crypt
Conclusion
WeaveNet
@infraBuilder
https://infrabuilder.com

Contenu connexe

Tendances

Kubernetes
KubernetesKubernetes
Kuberneteserialc_w
 
Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectMacpaul Lin
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...The Linux Foundation
 
Meet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracingMeet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracingViller Hsiao
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
 
Cilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshChristian Posta
 
Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology Jace Liang
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trCheikh Tidiane DIABANG
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance AnalysisBrendan Gregg
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityThomas Graf
 
Understand the iptables step by step
Understand the iptables step by stepUnderstand the iptables step by step
Understand the iptables step by stepHungWei Chiu
 
Understanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeUnderstanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeVictor Morales
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Alain Ganuchaud
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
 
Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)HungWei Chiu
 

Tendances (20)

Kubernetes
KubernetesKubernetes
Kubernetes
 
Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt project
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
 
Meet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracingMeet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracing
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
 
Cilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo Mesh
 
Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
 
OVS v OVS-DPDK
OVS v OVS-DPDKOVS v OVS-DPDK
OVS v OVS-DPDK
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
 
Iptables in linux
Iptables in linuxIptables in linux
Iptables in linux
 
Introduction of kubernetes rancher
Introduction of kubernetes rancherIntroduction of kubernetes rancher
Introduction of kubernetes rancher
 
Understand the iptables step by step
Understand the iptables step by stepUnderstand the iptables step by step
Understand the iptables step by step
 
Understanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeUnderstanding kube proxy in ipvs mode
Understanding kube proxy in ipvs mode
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013
 
Squid
SquidSquid
Squid
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar Leibovich
 
Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)
 

Similaire à Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018

Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Open Source Experience
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsNicolas Herbaut
 
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
 
Kubernetes est-il soluble dans la sécurité ? Meetup Genève
Kubernetes est-il soluble dans la sécurité ? Meetup GenèveKubernetes est-il soluble dans la sécurité ? Meetup Genève
Kubernetes est-il soluble dans la sécurité ? Meetup GenèveNet4All
 
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...Alphorm
 
2023-02-02 - Marvelous March
2023-02-02 - Marvelous March2023-02-02 - Marvelous March
2023-02-02 - Marvelous MarchFrederic Leger
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
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
 
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
 
QCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfQCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfAyoub893663
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallCloudOps2005
 
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]ANEO
 
Présentation travail du stage
Présentation travail du stagePrésentation travail du stage
Présentation travail du stageTaoufiq Bahalla
 
Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Antoine Poliakov
 
ccna 4 frame relay exposée.docx
ccna 4 frame relay exposée.docxccna 4 frame relay exposée.docx
ccna 4 frame relay exposée.docxAlexLissom
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ? La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ? OCTO Technology
 

Similaire à Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018 (20)

Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
 
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...
 
Kubernetes est-il soluble dans la sécurité ? Meetup Genève
Kubernetes est-il soluble dans la sécurité ? Meetup GenèveKubernetes est-il soluble dans la sécurité ? Meetup Genève
Kubernetes est-il soluble dans la sécurité ? Meetup Genève
 
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : Conf...
 
2023-02-02 - Marvelous March
2023-02-02 - Marvelous March2023-02-02 - Marvelous March
2023-02-02 - Marvelous March
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
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
 
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
 
Mise en place nagios
Mise en place nagiosMise en place nagios
Mise en place nagios
 
QCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfQCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdf
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de Montréall
 
Mise en place nagios
Mise en place nagiosMise en place nagios
Mise en place nagios
 
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
 
Présentation travail du stage
Présentation travail du stagePrésentation travail du stage
Présentation travail du stage
 
Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Retour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
 
ccna 4 frame relay exposée.docx
ccna 4 frame relay exposée.docxccna 4 frame relay exposée.docx
ccna 4 frame relay exposée.docx
 
BIENVENUE.pptx
BIENVENUE.pptxBIENVENUE.pptx
BIENVENUE.pptx
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ? La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ?
 

Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018

  • 1. Fonctionnalités et performances des CNI pour Kubernetes Illustration devops par @EricRibereau Jeudi 15 Novembre 2018 - DEVOPS D-DAY - Marseille FRANCE Alexis Ducastel - infraBuilder
  • 2. Qui suis-je ? Alexis Ducastel Président fondateur Membre du groupement Organisateur meetup
  • 4. Jeu Tirage au sort après la présentation
  • 5. Sommaire 1. Contexte a. La gestion du réseau dans Kubernetes b. Qu'est qu'une CNI c. Sélection des CNI du comparatif d. Environnement des tests 2. Comparatif a. Installation b. Sécurité c. Pérennité d. Performances e. Consommation de ressources 3. Conclusion
  • 6. Sommaire 1. Contexte a. La gestion du réseau dans Kubernetes b. Qu'est qu'une CNI c. Sélection des CNI du comparatif d. Environnement des tests 2. Comparatif a. Installation b. Sécurité c. Pérennité d. Performances e. Consommation de ressources 3. Conclusion
  • 7. Contexte : La gestion du réseau dans Kubernetes CT CT POD POD POD Service Internet Service Namespace réseau CNI ( Iptables / IPVS ) + DNS LoadBalancer / Ingress
  • 8. Contexte : La gestion du réseau dans Kubernetes CT CT POD POD POD Service Internet Service Namespace réseau CNI ( Iptables / IPVS ) + DNS LoadBalancer / Ingress
  • 9. Contexte : Qu'est qu'une CNI We are the knights who say ... CNI !
  • 10. Contexte : Qu'est qu'une CNI CNI = Container network Interface
  • 11. Contexte : Qu'est qu'une CNI "Overlay" = réseau virtuel géré par le plugin CNI "Underlay" = Votre réseau physique POD POD POD POD Serveur Serveur Serveur Plugin CNI
  • 12. Contexte : Sélection des CNI du comparatif 23 CNI Référencées ACI AOS Big Cloud Fabric Calico Canal Cilium CNI-Genie Contiv Contrail DANM Flannel GCE Jaguar Knitter Kube-router L2 Multus NSX-T Nuage networks OpenVSwitch OVN Romana WeaveNet
  • 13. Contexte : Sélection des CNI du comparatif ACI AOS Big Cloud Fabric Calico Canal Cilium CNI-Genie Contiv Contrail DANM Flannel GCE Jaguar Knitter Kube-router L2 Multus NSX-T Nuage networks OpenVSwitch OVN Romana WeaveNet 8 CNI dans la doc d'install de kubeadm
  • 14. Contexte : Sélection des CNI du comparatif Juniper Contrail hors du comparatif Module vrouter : /opt/contrail/vrouter-kernel-modules/3.10.0-862.14.4.el7.x86_64/vrouter.ko ... CENTOS 7.5
  • 15. Contexte : Sélection des CNI du comparatif CNI Version Date de release Description Calico 3.3 22 Octobre 2018 L3 , BGP , ETCD Canal 3.3 22 Octobre 2018 Calico (FW) + Flannel (Net) Cilium 1.3.0 23 Octobre 2018 L3 Flannel 0.10.0 23 Janvier 2018 * L2 , VXLAN Kube-router 0.2.1 10 Octobre 2018 L3, BGP, IPVS Romana 2.0.2 7 Février 2018 L3 WeaveNet 2.4.1 13 Septembre 2018 L2 , VXLAN
  • 16. Contexte : Environnement des tests OS Ubuntu 18.04 LTS Kernel version 4.15.0-38-generic (par défaut) Carte réseau MTU 9000 Docker version 17.12.1-ce (par défaut) Kubernetes version 1.12.2 (Sortie le 28 Octobre 2018) Config switch ports en mode access, jumbo frames activés (MTU 9000) Configuration logicielle
  • 17. Contexte : Environnement des tests Serveur Supermicro - CM X10SRW-F CPU 1 * Intel(R) Xeon(R) CPU E5-1630 v3 (4C 8T @ 3.70GHz) RAM 32Go DDR4 HDD : 4 * 300Go SSD Intel en RAID-0 HW (1267Mo/s lecture) Réseau : Supermicro AOC-StGn-i2S, Intel 82599ES (10Gbit/s) Câble DAC SFP+ passifs 3 X 1 X Switch Supermicro SSE-X3348SR (48p 10Gbits + 4p 40Gbit) Master K8S Minion K8S - Server Minion K8S - Client switch Test
  • 18. Sommaire 1. Contexte a. La gestion du réseau dans Kubernetes b. Qu'est qu'une CNI c. Sélection des CNI du comparatif d. Environnement des tests 2. Comparatif a. Installation b. Sécurité c. Pérennité d. Performances e. Consommation de ressources 3. Conclusion
  • 19. Comparatif : Préambule Très bien Bien Passable Mauvais
  • 20. Comparatif : Installation CNI Simplicité Tolerations MTU Correction Calico ConfigMap Canal ConfigMap Cilium Install manuelle ETCD Flannel Kube-router ConfigMap Romana Deploy + Daemonset WeaveNet ENV var
  • 21. Comparatif : Sécurité CNI Cryptage Network Policies Calico Non Ingress + Egress Canal Non Ingress + Egress Cilium Non Ingress + Egress Flannel Non Non Kube-router Non Ingress Romana Non Doc=oui, Réalité=non WeaveNet Optionnel Ingress
  • 22. Comparatif : Pérennité CNI kubeadm KOPS Kubespray RKE Juju Calico Canal Cilium Flannel Kube-router Romana WeaveNet
  • 23. Comparatif : Pérennité CNI Commits / 1 mois Contributeurs Commits / année Support Calico 55 87 Tigera Canal 2 20 Tigera Cilium 516 76 - Flannel 3 112 - Kube-router 9 40 - Romana 0 10 - WeaveNet 9 61 WeaveWorks
  • 31. Comparatif : Performances CNI TCP UDP HTTP FTP SCP Calico Canal Cilium Flannel Kube-router Romana WeaveNet WeaveNet Crypt
  • 34. Comparatif : Ressources CNI RAM CPU Calico Canal Cilium Flannel Kube-router Romana WeaveNet WeaveNet Crypt
  • 35. Sommaire 1. Contexte a. La gestion du réseau dans Kubernetes b. Qu'est qu'une CNI c. Sélection des CNI du comparatif d. Environnement des tests 2. Comparatif a. Installation b. Sécurité c. Pérennité d. Performances e. Consommation de ressources 3. Conclusion
  • 36. Conclusion : Récapitulatif CNI Install Sécurité Pérennité Perfs Conso Calico Canal Cilium Flannel Kube-router Romana WeaveNet WeaveNet Crypt
  • 37. Conclusion : Récapitulatif CNI Install Sécurité Pérennité Perfs Conso Calico Canal Cilium Flannel Kube-router Romana WeaveNet WeaveNet Crypt