Knotennetzwerkkonfiguration

Ein Azure CycleCloud-Clusterknoten enthält Standardeinstellungen für Netzwerke und diese sind im Knotendefinitionsbereich in der Clustervorlage geändert.

Netzwerkschnittstellen

Wenn Azure CycleCloud eine Azure-VM für einen Cluster bereit stellt, fügt er eine virtuelle Netzwerkschnittstelle an sie an. Bei Skalierungssätzen für virtuelle Computer wird eine virtuelle Netzwerkschnittstelle an einen Lastenausgleich angefügt.

Netzwerkeinstellungen für Knoten können konfiguriert werden, indem sie den Abschnitt zur Definition der Netzwerkschnittstelle des Knotens in der Clustervorlage ändern.

Zuweisen einer öffentlichen IP-Adresse

Fügen Sie einem Knoten ein AssociatePublicIpAddress Attribut hinzu, um anzugeben, ob ein Knoten eine öffentliche IP-Adresse empfangen soll. Zum Beispiel:

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

Die oben genannte Konfiguration ermöglicht den öffentlichen Zugriff auf den Zeitplanerknoten auf Ports, die von der Netzwerksicherheitsgruppe für die Virtual Network zulässig sind.

Standardmäßig ist die dem Knoten zugewiesene öffentliche IP-Adresse dynamisch und ändert sich jedes Mal, wenn der Cluster gestartet wird. Um eine statisch zugewiesene öffentliche IP-Adresse für Ihren Knoten zu haben, erstellen Sie zuerst eine öffentliche IP-Adresse in Ihrem Azure-Abonnement. Fügen Sie dann das PublicIP Attribut zu Ihrem Knotennetzwerkschnittstellenabschnitt hinzu, und weisen Sie es der Ressourcen-ID für das erstellte PublicIP-Objekt zu.

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

Erstellen Sie alternativ eine Netzwerkschnittstelle in Ihrem Azure-Abonnement, und fügen Sie eine öffentliche IP-Adresse an diese Netzwerkschnittstelle an. Geben Sie dann in der Knotenkonfiguration die Netzwerkschnittstellen-ID an:

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

Zuweisen einer öffentlichen DNS-Bezeichnung

Durch das Hinzufügen PublicDnsLabel zu einer öffentlichen Netzwerkschnittstelle können Sie den DNS-Namen für diese IP-Adresse anpassen.

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

Die obige Konfiguration führt zu einer statisch zugewiesenen myuniquename.eastus.cloudapp.azure.com öffentlichen IP-Adresse und einem DNS-Eintrag für den virtuellen Computer, der aufgelöst wird (mit eastus dem entsprechenden Azure-Speicherort für den virtuellen Computer).)

Zuweisen einer privaten IP-Adresse

Standardmäßig erhalten virtuelle Computer eine dynamisch zugewiesene private IP-Adresse in Azure. Unter bestimmten Umständen ist es erforderlich oder wünschenswert, dass Knoten private IP-Adressen behoben haben. Verwenden Sie dazu die folgende Konfiguration für den Abschnitt der Netzwerkschnittstelle Ihrer Clusterkonfiguration:

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

Beachten Sie, dass die angegebene private IP-Adresse für das zugeordnete Subnetz gültig sein muss. Azure behält sich die ersten vier und letzten IPs im Subnetz vor. Diese Adressen können einem Knoten nicht manuell zugewiesen werden.

Netzwerksicherheitsgruppen

Azure CycleCloud stellt Virtual Machines und Virtual Machine Scale Sets in benutzerdefinierten virtuellen Netzwerken und Subnetzen bereit. Der Zugriff auf bestimmte Ports auf Knoten wird letztendlich von den Netzwerksicherheitsgruppen gesteuert, die dem virtuellen Netzwerk zugeordnet sind. Weitere Informationen finden Sie in der dokumentation Virtual Network

Wenn ein Knoten über eine Netzwerkschnittstelle verfügt, die mit AssociatePublicIpAddress = trueeinem Oder zugewiesen PublicIpist, erhält der Knoten automatisch eine Netzwerksicherheitsgruppe.

Dies kann durch SecurityGroupoder, wenn dies nicht angegeben wird, automatisch aus den input-endpoints Abschnitten auf dem Knoten generiert werden. SecurityGroup für eine Schnittstelle angegeben wird, wird die automatisch erstellte nsg für Eingabeendpunkte außer Kraft setzen. Es sei denn, eine bestimmte SecurityGroup Schnittstelle wird die automatische nsg von den Eingabeendpunktdefinitionen abgerufen.

Input-Endpoints in Knotenarrays

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

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

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

Die oben genannte Konfiguration ermöglicht den öffentlichen Zugriff auf die Ausführungsknoten auf Ports, die von der Netzwerksicherheitsgruppe für die Virtual Network zulässig sind. Für das Knotenarray PublicPort ist die Basisportnummer für Knoten im Array. Der Bereich der ports, die für das Nodearray reserviert sind, beträgt 500 pro Endpunkt. Endpunkte werden standardmäßig im TCP-Protokoll verwendet, udp wird jedoch auch über Protocol = UDP. Standardmäßig ist die dem Knoten zugewiesene öffentliche IP-Adresse dynamisch und ändert sich jedes Mal, wenn der Cluster gestartet wird. Um eine statisch zugewiesene öffentliche IP-Adresse für Ihren Knoten zu haben, fügen Sie PublicIP der Netzwerkschnittstellenkonfiguration für die primäre Schnittstelle hinzu:

Bei Rückgabeproxyknoten wird automatisch eine öffentliche IP-Adresse erstellt, sofern AssociatePublicIpAddress nicht angegeben. Wenn AssociatePublicIpAddress auf "False" festgelegt wurde, schlägt der Knoten mit einer Warnung fehl, und für den Knoten wird kein auto-nsg erstellt.

Hinweis

Nachdem ein Knoten mit AssociatePublicIpAddressdem Knoten gestartet wurde, behält er diese IP bei, bis der Knoten oder Cluster entfernt wird.