La plupart des étapes de préparation des nœuds Kubernetes sont automatisées par deux conteneurs, nsx-ovs et nsx-ncp-bootstrap, qui s'exécutent respectivement dans les DaemonSet nsx-node-agent et nsx-ncp-bootstrap.
Avant d'installer NCP, assurez-vous que Python est installé et accessible sur les nœuds Kubernetes à l'aide de l'interface de ligne de commande. Vous pouvez utiliser votre gestionnaire de modules Linux pour l'installer. Par exemple, sur Ubuntu, vous pouvez exécuter la commande apt install python.
sudo cat /sys/module/apparmor/parameters/enabled
sudo /etc/init.d/apparmor status
Le fichier de profil ncp-apparmor fournit un profil AppArmor pour l'agent de nœud NSX nommé node-agent-apparmor, qui diffère du profil docker-default de la manière suivante :
- La règle deny mount est retirée.
- La règle mount est ajoutée.
- Certaines options network, capability, file et umount sont ajoutées.
Vous pouvez remplacer le profil node-agent-apparmor par un profil différent. Si vous le faites, vous devez modifier le nom de profil node-agent-apparmor dans le fichier YAML NCP.
- /etc/cni/net.d
- /etc/apparmor.d/ncp-apparmor
- /opt/cni/bin/nsx
- /opt/cni/bin/nsx
- /etc/cni/net.d/99-loopback.conf
- /etc/cni/net.d/10-nsx.conflist
- /etc/apparmor.d/ncp-apparmor
Si les fichiers /opt/cni/bin/loopback et /etc/cni/net.d/99-loopback.conf existent, ils ne sont pas remplacés. Si le type de système d'exploitation est Ubuntu, le fichier ncp-apparmor est également copié sur l'hôte.
Le conteneur de démarrage déplacera l'adresse IP et les routes de br-int vers node-if. Il arrêtera également OVS s'il est en cours d'exécution sur l'hôte, car OVS s'exécutera dans le conteneur nsx-ovs. Le conteneur nsx-ovs créera l'instance br-int si elle n'existe pas, ajoutera l'interface réseau (node-if) attachée au commutateur logique du nœud à br-int et s'assurera que l'état du lien br-int et node-if est actif. Il déplacera l'adresse IP et les routes de node-if vers br-int. Une interruption de service de quelques secondes se produit lorsque l'espace nsx-node-agent ou le conteneur nsx-ovs est redémarré.
auto eth1 iface eth1 inet static address 172.16.1.4/24 #persistent static routes up route add -net 172.16.1.3/24 gw 172.16.1.1 dev eth1
Exécutez ensuite la commande ifdown eth1; ifup eth1.
HWADDR=00:0C:29:B7:DC:6F TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=172.10.0.2 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV4_DNS_PRIORITY=100 IPV6INIT=no NAME=eth1 UUID=39317e23-909b-45fc-9951-849ece53cb83 DEVICE=eth1 ONBOOT=yes
Exécutez ensuite la commande systemctl restart network.service.
Pour plus d'informations sur la configuration de routes persistantes pour RHEL, reportez-vous à https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-configuring_static_routes_in_ifcfg_files.
Si nécessaire, vous pouvez annuler les modifications effectuées par le conteneur de démarrage. Pour plus d'informations, reportez-vous à la section Nettoyer les nœuds Kubernetes.