Cilium 1.4, un système de mise en réseau basé sur BPF pour les conteneurs Linux

Cil Linux

Le lancement du projet est présenté Cilium 1.4, dans lequel, avec la participation de Google, Facebook, Netflix et Red Hat, il se développe un système pour garantir l'interaction avec le réseau et appliquer des politiques de sécurité pour les conteneurs et les processus isolés.

Pour faire la distinction entre l'accès au réseau dans Cilium, eBPF est utilisé (Filtre de paquets Berkeley) et XDP (Chemin des données eXpress). Le code des composants de niveau utilisateur est écrit en Go et est distribué sous la licence Apache 2.0.

Les scripts BPF chargés dans le noyau Linux sont disponibles sous la licence GPLv2.

À propos de Cilium

La base de Cilium est un processus d'arrière-plan qui fonctionne dans l'espace utilisateur et effectue le travail de génération et de compilation des programmes BPF., ainsi qu'interagir avec le runtime fourni par les conteneurs.

Sous la forme de programmes GMP, des systèmes sont mis en œuvre pour assurer la connectivité des conteneurs, intégration avec le sous-système réseau (réseaux physiques et virtuels, VXLAN, Geneve) et équilibrage de charge.

Le processus d'arrière-plan est complété par une interface d'administration, un référentiel de règles d'accès, un système de surveillance et des modules d'intégration avec prise en charge de Kubernetes, Mesos, Istio et Docker.

Les performances d'une solution basée sur Cilium avec un grand nombre de services et de connexions sont deux fois supérieures à celles des solutions basées sur iptables en raison de la surcharge de recherche élevée des règles.

Principales innovations

Cil vous avez la possibilité d'acheminer et de transférer le trafic de service entre plusieurs clusters Kubernetes.

Le concept de services globaux (une variante des services full-service Kubernetes avec backends multi-cluster) est également proposé.

Aussi dispose d'outils pour définir les règles de traitement des requêtes et réponses DNS ainsi que des groupes de conteneurs (pods), vous permettant d'augmenter le contrôle sur l'utilisation des ressources externes des conteneurs.

En outre, il existe un support pour la journalisation de toutes les requêtes et réponses DNS avec les pods. En plus des règles d'accès au niveau de l'adresse IP, maintenant vous pouvez déterminer quelles requêtes DNS et réponses DNS sont valides et lesquelles doivent être bloquées.

Par exemple, vous pouvez bloquer l'accès à des domaines spécifiques ou autoriser les demandes pour le domaine local uniquement, sans qu'il soit nécessaire de suivre les modifications de la liaison des domaines à IP.

Cil

Cela inclut la possibilité d'utiliser l'adresse IP renvoyée dans le processus d'une demande DNS pour restreindre les opérations réseau ultérieures (par exemple, vous ne pouvez autoriser l'accès qu'aux adresses IP qui ont été renvoyées lors de la résolution DNS.

Principales nouveautés de la version 1.4 de Cilium

Dans la nouvelle version Ajout de la prise en charge expérimentale du chiffrement transparent de tout le trafic entre les services. Le chiffrement peut être utilisé pour le trafic entre différents clusters, ainsi qu'au sein d'un même cluster.

Il a également été ajouté la possibilité d'authentifier les nœuds, ce qui permet au cluster d'être placé sur un réseau non approuvé.

La nouvelle fonctionnalité permet, en cas de pannes de backends assurant le fonctionnement du service dans un cluster, de rediriger automatiquement le trafic vers les processeurs de ce service dans un autre cluster.

Ajoutée prise en charge expérimentale des interfaces réseau IPVLAN, permettant des performances plus élevées et des retards plus faibles dans l'interaction entre deux conteneurs locaux;

Ajout d'un module pour l'intégration Flannel, un système pour automatiser la configuration de l'interaction réseau entre les nœuds d'un cluster Kubernetes, vous permettant de travailler en parallèle ou d'exécuter Cilium sur Flannel (interaction réseau Flannel, équilibrage Cilium et politiques d'accès).

Une assistance expérimentale a été fournie pour définir des règles d'accès basées sur les métadonnées AWS (Amazon Web Services), tels que les balises EC2, les groupes de sécurité et les noms de VPC.

L'opportunité de lancer Cilium sur GKE (Google Kubernetes Engine sur Google Cloud) en utilisant COS (Container Optimized Operating System) a également été proposée;

Cela fournit une opportunité de test pour utiliser Sockmap BPF pour accélérer la communication entre les processus locaux (par exemple, utile pour accélérer l'interaction entre le proxy side-car et les processus locaux).


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.