Chapitre 22. Réseaux multiples
22.1. Comprendre les réseaux multiples
Dans Kubernetes, la mise en réseau des conteneurs est déléguée à des plugins de mise en réseau qui mettent en œuvre l'interface de réseau de conteneurs (CNI).
OpenShift Container Platform utilise le plugin CNI Multus pour permettre le chaînage des plugins CNI. Lors de l'installation du cluster, vous configurez votre réseau de pods default. Le réseau par défaut gère tout le trafic réseau ordinaire pour le cluster. Vous pouvez définir un additional network basé sur les plugins CNI disponibles et attacher un ou plusieurs de ces réseaux à vos pods. Vous pouvez définir plusieurs réseaux supplémentaires pour votre cluster, en fonction de vos besoins. Cela vous donne de la flexibilité lorsque vous configurez des pods qui fournissent des fonctionnalités réseau, telles que la commutation ou le routage.
22.1.1. Scénarios d'utilisation d'un réseau supplémentaire
Vous pouvez utiliser un réseau supplémentaire dans les situations où l'isolation du réseau est nécessaire, y compris la séparation du plan de données et du plan de contrôle. L'isolation du trafic réseau est utile pour les raisons de performance et de sécurité suivantes :
- Performances
- Vous pouvez envoyer du trafic sur deux plans différents afin de gérer la quantité de trafic sur chaque plan.
- Sécurité
- Vous pouvez envoyer le trafic sensible sur un plan de réseau géré spécifiquement pour des considérations de sécurité, et vous pouvez séparer les données privées qui ne doivent pas être partagées entre les locataires ou les clients.
Tous les pods du cluster utilisent toujours le réseau par défaut du cluster pour maintenir la connectivité à travers le cluster. Chaque module dispose d'une interface eth0
qui est attachée au réseau du module à l'échelle du cluster. Vous pouvez afficher les interfaces d'un module à l'aide de la commande oc exec -it <pod_name> -- ip a
. Si vous ajoutez des interfaces réseau supplémentaires qui utilisent Multus CNI, elles sont nommées net1
, net2
, ..., netN
.
Pour attacher des interfaces réseau supplémentaires à un pod, vous devez créer des configurations qui définissent la manière dont les interfaces sont attachées. Vous spécifiez chaque interface en utilisant une ressource personnalisée (CR) NetworkAttachmentDefinition
. Une configuration CNI à l'intérieur de chacune de ces CR définit la manière dont cette interface est créée.
22.1.2. Réseaux supplémentaires dans OpenShift Container Platform
OpenShift Container Platform fournit les plugins CNI suivants pour créer des réseaux supplémentaires dans votre cluster :
- bridge: Configurez un réseau supplémentaire basé sur un pont pour permettre aux pods sur le même hôte de communiquer entre eux et avec l'hôte.
- host-device: Configurer un réseau supplémentaire hôte-dispositif pour permettre aux pods d'accéder à un périphérique de réseau Ethernet physique sur le système hôte.
- ipvlan: Configurer un réseau supplémentaire basé sur ipvlan pour permettre aux pods d'un hôte de communiquer avec d'autres hôtes et pods sur ces hôtes, de manière similaire à un réseau supplémentaire basé sur macvlan. Contrairement à un réseau supplémentaire basé sur macvlan, chaque pod partage la même adresse MAC que l'interface réseau physique parent.
- macvlan: Configurer un réseau supplémentaire basé sur macvlan pour permettre aux pods sur un hôte de communiquer avec d'autres hôtes et pods sur ces hôtes en utilisant une interface réseau physique. Chaque pod attaché à un réseau supplémentaire basé sur macvlan reçoit une adresse MAC unique.
- SR-IOV: Configurer un réseau supplémentaire basé sur SR-IOV pour permettre aux pods de s'attacher à une interface de fonction virtuelle (VF) sur un matériel compatible SR-IOV sur le système hôte.