web-dev-qa-db-fra.com

Pourquoi nova a-t-elle besoin d'une interface publique?

J'ai lu des explications sur nova-network et comment le configurer comme ceci depuis wiki:

Je suis déroutant à propos d'un détail. Si tout le trafic des instances doit passer par le nœud du contrôleur nova, pourquoi avons-nous toujours besoin de l'interface publique pour le nœud nova-compute? Est-ce nécessaire?

Que se passe-t-il lorsqu'une demande de l'extérieur à une instance. Par exemple, j'ai un nœud de contrôleur et un nœud nova-compute. Dans nova-compute node, je lance une instance avec un site Web Wordpress. Ensuite, quelqu'un se connecte à l'adresse IP publique de cette instance. Donc, la demande va directement du routeur au nœud nova-compute ou du routeur au nœud contrôleur puis au nœud nova-compute?

2
neo0

Dans le cas de nova-network exécuté sur le nœud du contrôleur, les instances utilisent ce nœud comme passerelle vers le monde extérieur. L'interface publique est configurée sur les nœuds de calcul et les adresses IP (publiques) flottantes sont configurées directement sur les nœuds de calcul. Ainsi, le trafic public lié à l'instance irait à une interface publique sur le nœud de calcul plutôt qu'au contrôleur.

FlatDHCP + multi_Host est un meilleur modèle de réseau à utiliser. Voir cet article de blog qui le décrit en détail et explique pourquoi c'est un meilleur choix.

Pour résumer, nova-network s’exécute sur tous les hôtes de calcul. L'interface physique plate (spécifiée dans config, généralement eth1) obtient un pont sur lequel une adresse IP est attribuée sur le réseau d'instance privé. À l'aide de ce pont, nova-network sert DHCP, DNS et une passerelle à toutes les instances hébergées sur ce nœud de calcul. L'interface physique flat_interface (eth1) doit être liée à un commutateur connectant les interfaces flat_interface des autres nœuds de calcul. Cela active le trafic inter-instance sur le réseau interne interne (par exemple, 10.0.0.0/24).

Chaque nœud de calcul possède également une interface publique spécifiée dans config (eth0 par défaut). Ceci devrait être connecté au réseau public, par exemple 192.168.25.0/24. En tant qu'utilisateur, vous pouvez attribuer une adresse et l'associer à une instance en cours d'exécution. Les adresses sont attribuées à partir d'un pool que vous avez configuré lors de la configuration initiale du réseau de nova. Utiliser EC2, par exemple:

adam@amebix:~/nova$ euca-allocate-address
ADDRESS 192.168.25.241
adam@amebix:~/nova$ euca-associate-address 192.168.25.241 -i i-00000126
ADDRESS 192.168.25.241  i-00000126

Sur le nœud de calcul, 192.168.25.241 est ajouté à l’interface public_interface en tant qu’adresse IP virtuelle secondaire et les règles iptables des nœuds de calcul sont configurées pour acheminer le trafic de cette adresse à l’instance appropriée. Cependant, les groupes de sécurité par défaut ne permettent à aucun trafic entrant de le traverser. Vous devez autoriser les ports des groupes de sécurité auxquels cette instance est affectée (via euca-authorize). Cela se traduit par nova-network ouvrant des ports dans le jeu de règles iptables correspondant à cette instance.

3
adam_g