22.9. Affectation d'un réseau secondaire à un VRF
22.9.1. Affectation d'un réseau secondaire à un VRF
En tant qu'administrateur de cluster, vous pouvez configurer un réseau supplémentaire pour votre domaine VRF en utilisant le plugin CNI VRF. Le réseau virtuel créé par ce plugin est associé à une interface physique que vous spécifiez.
Les applications qui utilisent les VRF doivent se lier à un périphérique spécifique. L'usage courant est d'utiliser l'option SO_BINDTODEVICE
pour une socket. SO_BINDTODEVICE
lie la socket à un périphérique spécifié dans le nom de l'interface passée, par exemple, eth1
. Pour utiliser SO_BINDTODEVICE
, l'application doit avoir les capacités de CAP_NET_RAW
.
L'utilisation d'une VRF via la commande ip vrf exec
n'est pas prise en charge dans les pods OpenShift Container Platform. Pour utiliser la VRF, liez les applications directement à l'interface VRF.
22.9.1.1. Création d'un attachement réseau supplémentaire avec le plugin CNI VRF
L'opérateur de réseau de cluster (CNO) gère les définitions de réseaux supplémentaires. Lorsque vous spécifiez un réseau supplémentaire à créer, le CNO crée automatiquement la ressource personnalisée (CR) NetworkAttachmentDefinition
.
Ne modifiez pas les CR NetworkAttachmentDefinition
gérés par l'opérateur du réseau en grappe. Cela risquerait de perturber le trafic sur votre réseau supplémentaire.
Pour créer un attachement réseau supplémentaire avec le plugin CNI VRF, suivez la procédure suivante.
Conditions préalables
- Installez le CLI (oc) de OpenShift Container Platform.
- Connectez-vous au cluster OpenShift en tant qu'utilisateur disposant des privilèges cluster-admin.
Procédure
Créez la ressource personnalisée (CR)
Network
pour l'attachement au réseau supplémentaire et insérez la configurationrawCNIConfig
pour le réseau supplémentaire, comme dans l'exemple de CR suivant. Enregistrez le YAML dans le fichieradditional-network-attachment.yaml
.apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: additionalNetworks: - name: test-network-1 namespace: additional-network-1 type: Raw rawCNIConfig: '{ "cniVersion": "0.3.1", "name": "macvlan-vrf", "plugins": [ 1 { "type": "macvlan", 2 "master": "eth1", "ipam": { "type": "static", "addresses": [ { "address": "191.168.1.23/24" } ] } }, { "type": "vrf", "vrfname": "example-vrf-name", 3 "table": 1001 4 }] }'
- 1
plugins
doit être une liste. Le premier élément de la liste doit être le réseau secondaire qui sous-tend le réseau VRF. Le deuxième élément de la liste est la configuration du plugin VRF.- 2
type
doit être réglé survrf
.- 3
vrfname
est le nom du VRF auquel l'interface est assignée. S'il n'existe pas dans le pod, il est créé.- 4
- Facultatif.
table
est l'ID de la table de routage. Par défaut, le paramètretableid
est utilisé. S'il n'est pas spécifié, le CNI attribue un ID de table de routage libre au VRF.
NoteVRF ne fonctionne correctement que si la ressource est de type
netdevice
.Créer la ressource
Network
:$ oc create -f additional-network-attachment.yaml
Confirmez que le CNO a créé le CR
NetworkAttachmentDefinition
en exécutant la commande suivante. Remplacez<namespace>
par l'espace de noms que vous avez spécifié lors de la configuration de l'attachement au réseau, par exempleadditional-network-1
.oc get network-attachment-definitions -n <namespace>
Exemple de sortie
NAME AGE additional-network-1 14m
NoteIl peut y avoir un délai avant que le CNO ne crée le CR.
Vérification de la réussite de l'attachement au réseau VRF supplémentaire
Pour vérifier que le VRF CNI est correctement configuré et que l'attachement réseau supplémentaire est attaché, procédez comme suit :
- Créez un réseau qui utilise le VRF CNI.
- Attribuer le réseau à un pod.
Vérifiez que l'attachement réseau du pod est connecté au réseau supplémentaire VRF. Connectez-vous à distance au pod et exécutez la commande suivante :
$ ip vrf show
Exemple de sortie
Name Table ----------------------- red 10
Confirmez que l'interface VRF est maître de l'interface secondaire :
$ ip link
Exemple de sortie
5 : net1 : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master red state UP mode