NetObserv est un outil de capture et de visualisation des flux réseau pour Kubernetes / OpenShift, développé par mon équipe chez Red Hat. Entièrement open-source donc librement accessible, il utilise la techno eBPF pour une capture avec un minimum d'impact sur vos workloads, génère de nombreuses métriques, vous offrant même la possibilité d'en créer de nouvelles, et en guise de visualisation propose une topologie, une vue détaillées des flows et de jolis graphiques, le tout entièrement filtrable et proposant différents niveaux d’agrégation. En terme de données, vous aurez accès aux byte rates, latences TCP, packet drops, DSCP, etc.

Le but de l'atelier sera donc d'installer et d'explorer le réseau via NetObserv, si possible avec vos propres workloads, sinon avec des workloads créés pour l'occasion. Il sera nécessaire d'avoir un cluster Kubernetes à disposition. Nous développons NetObserv en priorité pour OpenShift, mais la plupart des composants y sont agnostiques. Seul le plugin Console, pour la visualisation, est vraiment taillé pour OpenShift … quoique, si le cœur vous en dit, nous pourrons tenter de le hacker ensemble et le rendre accessible hors OpenShift.

Quelques limitations cependant:

  • L'agent eBPF requiert un noyau Linux pas trop vieux (de préférence >4.20 voire >5.14 pour être feature-complet)
  • Les clusters utilisant un CNI qui eux-mêmes ont un usage exclusif d'eBPF seront incompatibles. Comme avec Cilium, par exemple. NetObserv est abondamment testé avec ovn-kubernetes, mais sans pour autant y être couplé, et en théorie devrait fonctionner avec les autres CNI utilisant la stack réseau du noyau Linux.

Sans garantir que tout fonctionnera parfaitement dans tous les environnement, nous ferons de notre mieux pour que ce soit le cas.