Configuration de la mise en réseau des nœuds

Un nœud de cluster Azure CycleCloud est fourni avec les paramètres par défaut pour la mise en réseau et ceux-ci sont modifiables dans la section définition de nœud dans le modèle de cluster.

Interfaces réseau

Quand Azure CycleCloud provisionne une machine virtuelle Azure pour un cluster, elle y attache une interface réseau virtuelle. Pour les groupes de machines virtuelles identiques, une interface réseau virtuelle est attachée à un équilibreur de charge.

Les paramètres réseau des nœuds sont configurables en modifiant la section définition de l’interface réseau du nœud dans le modèle de cluster.

Affectation d’adresses IP publiques

Ajoutez un AssociatePublicIpAddress attribut à un nœud pour spécifier si un nœud doit recevoir une adresse IP publique. Par exemple :

[[node scheduler]]
[[[network-interface eth0]]]
    AssociatePublicIpAddress = true

La configuration ci-dessus autorise l’accès public au nœud du planificateur sur les ports comme autorisé par le groupe de sécurité réseau pour le Réseau virtuel.

Par défaut, l’adresse IP publique affectée au nœud est dynamique et change chaque fois que le cluster est démarré. Pour disposer d’une adresse IP publique affectée statiquement pour votre nœud, commencez par créer une adresse IP publique dans votre abonnement Azure. Ajoutez ensuite l’attribut PublicIP à votre section d’interface réseau de nœud, en lui affectant l’ID de ressource de l’objet PublicIP créé.

[[node scheduler]]
[[[network-interface eth0]]]
    PublicIp = /subscriptions/${subscription_id/resourceGroups/${resource_group_name}/providers/Microsoft.Network/publicIPAddresses/${public-ip-name}

Vous pouvez également créer une interface réseau dans votre abonnement Azure et attacher une adresse IP publique à cette interface réseau. Ensuite, spécifiez cet ID d’interface réseau dans la configuration du nœud :

[[node scheduler]]
[[[network-interface eth0]]]
    NetworkInterfaceId = /subscriptions/${subscription_id/resourceGroups/${resource_group_name}/providers/Microsoft.Network/networkInterfaces/${network-interface-name}

Affectation d’une étiquette DNS publique

L’ajout PublicDnsLabel à une interface réseau publique vous permet de personnaliser le nom DNS de cette adresse IP.

[[node scheduler]]
[[network-interface eth0]]
    AssociatePublicIpAddress = true
    PublicDnsLabel = myuniquename

La configuration ci-dessus génère une adresse IP publique affectée statiquement et une entrée DNS pour la machine virtuelle qui se myuniquename.eastus.cloudapp.azure.com résout (avec eastus la correspondance de l’emplacement Azure correspondant pour la machine virtuelle.)

Affectation d’une adresse IP privée

Par défaut, les machines virtuelles recevront une adresse IP privée affectée dynamiquement dans Azure. Dans certaines circonstances, il est nécessaire ou souhaitable que les nœuds aient des adresses IP privées fixes. Pour ce faire, utilisez la configuration suivante pour la section d’interface réseau de votre configuration de cluster :

[[[network-interface eth0]]]
PrivateIp = x.x.x.x

Notez que l’adresse IP privée spécifiée doit être valide pour le sous-réseau associé. Azure réserve les quatre premières adresses IP et les dernières adresses IP du sous-réseau. Ces adresses ne peuvent pas être affectées manuellement à un nœud.

Network Security Group

Azure CycleCloud provisionne des Machines Virtuelles et des Virtual Machine Scale Sets dans les réseaux virtuels et sous-réseaux définis par l’utilisateur. L’accès à des ports spécifiques sur les nœuds est finalement régi par les groupes de sécurité réseau associés au réseau virtuel. Pour plus d’informations, consultez Réseau virtuel Documentation

Si un nœud a une interface réseau configurée avec AssociatePublicIpAddress = true, ou est affectée à un PublicIpnœud, le nœud reçoit automatiquement un groupe de sécurité réseau.

Cela peut être spécifié par SecurityGroup, ou, s’il est omis, il est généré automatiquement à partir des input-endpoints sections sur le nœud. SecurityGroup spécifié pour une interface remplace le groupe de sécurité réseau automatique créé pour les points de terminaison d’entrée. Sauf si une spécification spécifique SecurityGroup est spécifiée, toutes les interfaces obtiennent le nsg automatique à partir des définitions de point de terminaison d’entrée.

Input-Endpoints dans les tableaux de nœuds

[[nodearray execute]]
  [[[network-interface eth0]]]
    AssociatePublicIpAddress = true

  [[[input-endpoint SSH]]]
  PrivatePort = 22
  PublicPort = 10000

  [[[input-endpoint MyCustomPort]]]
  PrivatePort = 999
  PublicPort = 10999
  Protocol = tcp

La configuration ci-dessus autorise l’accès public aux nœuds d’exécution sur les ports, comme autorisé par le groupe de sécurité réseau pour le Réseau virtuel. Pour le nodearray, PublicPort correspond au numéro de port de base pour les nœuds du tableau. La plage de ports réservés au nodearray est de 500 par point de terminaison. Les points de terminaison sont par défaut du protocole TCP, mais UDP est également pris en charge via Protocol = UDP. Par défaut, l’adresse IP publique affectée au nœud est dynamique et change chaque fois que le cluster est démarré. Pour disposer d’une adresse IP publique affectée statiquement pour votre nœud, ajoutez PublicIP à la configuration de l’interface réseau pour l’interface principale :

Pour les nœuds proxy de retour, s’il AssociatePublicIpAddress n’a pas été spécifié, une adresse IP publique est créée automatiquement. Si AssociatePublicIpAddress la valeur est False, le nœud échoue avec un avertissement et aucun nsg automatique n’est créé pour le nœud.

Notes

Une fois qu’un nœud a été démarré AssociatePublicIpAddress, il conserve cette adresse IP jusqu’à ce que le nœud ou le cluster soit supprimé.