Préparation de RHOCP pour l’isolation réseau RHOSO
Tableau des plages IP de réseau :
VLAN | CIDR | NetConfig allocationRange | MetalLB IPAddressPool range | net-attach-def ipam range | OCP worker nncp range | |
---|---|---|---|---|---|---|
ctlplane |
n/a |
172.22.0.0/24 |
172.22.0.100 - 172.22.0-120 172.22.0.150 - 172.22.0.200 |
172.22.0.80 - 172.22.0.90 |
172.22.0.30 - 172.22.0.70 |
172.22.0.10 - 172.22.0.12 |
external |
n/a |
192.168.123.0/24 |
192.168.123.61 - 192.168.123.90 |
n/a |
n/a |
n/a |
internalapi |
20 |
172.17.0.0/24 |
172.17.0.100 - 172.17.0.250 |
172.17.0.80 - 172.17.0.90 |
172.17.0.30 - 172.17.0.70 |
172.17.0.10 - 172.17.0.12 |
storage |
21 |
172.18.0.0/24 |
172.18.0.100 - 172.18.0.250 |
172.18.0.80 - 172.18.0.90 |
172.18.0.30 - 172.18.0.70 |
172.18.0.10 - 172.18.0.12 |
tenant |
22 |
172.19.0.0/24 |
172.19.0.100 - 172.19.0.250 |
172.18.0.80 - 172.18.0.90 |
172.19.0.30 - 172.19.0.70 |
172.19.0.10 - 172.19.0.12 |
Nous utiliserons un ensemble préconfiguré de fichiers yaml dans le répertoire files
qui commencent par osp-ng-nncp-
.
Il y a 3 fichiers pour les nœuds de travail (worker nodes).
Changez pour le répertoire files
:
cd ~/labrepo/content/files
Appliquez les yamls préconfigurés individuellement:
oc apply -f osp-ng-nncp-w1.yaml
oc apply -f osp-ng-nncp-w2.yaml
oc apply -f osp-ng-nncp-w3.yaml
Attendez qu’ils soient dans un état disponible avant de continuer:
oc get nncp -w
NAME STATUS REASON
osp-enp1s0-worker-ocp4-worker1 Available SuccessfullyConfigured
osp-enp1s0-worker-ocp4-worker2 Available SuccessfullyConfigured
osp-enp1s0-worker-ocp4-worker3 Available SuccessfullyConfigured
Dans Kubernetes, une "Network Attachment Definition" est une ressource personnalisée qui permet de configurer des interfaces réseau supplémentaires pour les pods. Cette ressource fait partie du projet Multus, qui permet à un pod d’avoir plusieurs interfaces réseau. En utilisant une Network Attachment Definition, vous pouvez définir différents types de réseaux auxquels vos pods peuvent se connecter, au-delà du réseau principal de Kubernetes.
Avant de continuer, configurez une ressource nad pour chaque réseau isolé afin d’attacher un pod de service au réseau :
oc apply -f osp-ng-netattach.yaml
Une fois que les nœuds sont disponibles et attachés, configurez la plage d’adresses IP MetalLB en utilisant un fichier yaml préconfiguré :
oc apply -f osp-ng-metal-lb-ip-address-pools.yaml
Configurez une ressource L2Advertisement qui définira queld nœuds (dans ce cas ci les noeuds du controle plane) annoncent le service au réseau local, qui a été préconfiguré pour votre environnement de démonstration :
oc apply -f osp-ng-metal-lb-l2-advertisements.yaml
Si votre cluster est RHOCP 4.14 ou une version ultérieur et qu’il utilise OVNKubernetes comme backend réseau, vous devez activer le transfert global pour que MetalLB puisse fonctionner sur une interface réseau secondaire.
Vérifiez le backend réseau utilisé par votre cluster:
oc get network.operator cluster --output=jsonpath='{.spec.defaultNetwork.type}'
Si le backend est OVNKubernetes (ce qui devrait être la cas), exécutez la commande suivante pour activer le transfert IP global :
oc patch network.operator cluster -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"ipForwarding": "Global"}}}}}' --type=merge