Verwenden einer Azure Resource Manager-Vorlage zum Bereitstellen und Verbinden einer Ubuntu-VM mit Azure Arc
Dieser Artikel enthält einen Leitfaden zum Verwenden einer Azure Resource Manager-Vorlage (ARM-Vorlage) zum automatischen Integrieren einer Ubuntu-VM in Azure Arc. Mit der bereitgestellten ARM-Vorlage werden die Azure-Ressourcen erstellt und das Skript für das Azure Arc-Onboarding auf der VM ausgeführt.
Auf Azure-VMs wird standardmäßig Azure Instance Metadata Service (IMDS) verwendet. Wenn Sie eine Azure-VM als Server mit Azure Arc-Unterstützung projizieren, entsteht ein Konflikt, durch den verhindert wird, dass die Azure Arc-Serverressourcen bei Verwendung von IMDS als Einheit dargestellt werden. Stattdessen „fungiert“ der Azure Arc-Server weiterhin als native Azure-VM.
In diesem Leitfaden können Sie Azure-VMs nur zu Demonstrationszwecken verwenden und in Azure Arc integrieren. Sie haben die Möglichkeit, einen Server zu simulieren, der außerhalb von Azure bereitgestellt wird, z. B. lokal oder auf anderen Cloudplattformen.
Hinweis
Es wird nicht davon ausgegangen, dass eine Azure-VM als Server mit Azure Arc-Unterstützung projiziert wird. Das folgende Szenario wird nicht unterstützt und sollte nur zu Demonstrations- und Testzwecken verwendet werden.
Voraussetzungen
Klonen Sie das Repository für den Schnelleinstieg in Azure Arc.
git clone https://github.com/microsoft/azure_arc.git
Installieren oder aktualisieren Sie die Azure CLI auf mindestens Version 2.7. Überprüfen Sie mit dem folgenden Befehl die aktuell installierte Version.
az --version
Azure-Abonnement: Wenn Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Azure-Konto erstellen.
Erstellen Sie einen Azure-Dienstprinzipal.
Damit Sie die Azure-Ressourcen mithilfe der ARM-Vorlage bereitstellen können, ist ein Azure-Dienstprinzipal erforderlich, dem die Rolle „Mitwirkender“ zugewiesen ist. Zum Erstellen dieses Dienstprinzipals melden Sie sich bei Ihrem Azure-Konto an und führen den folgenden Befehl aus. Sie können diesen Befehl auch in Azure Cloud Shell ausführen.
az login az account set -s <Your Subscription ID> az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
Beispiel:
az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
Die Ausgabe sollte wie folgt aussehen:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcServers", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Hinweis
Es wird dringend empfohlen, dass Sie für den Dienstprinzipal ein bestimmtes Azure-Abonnement und eine bestimmte Ressourcengruppe festlegen.
Automatisierungsflow
Im Folgenden wird der Ablauf der Automatisierung und Bereitstellung erläutert.
Ein Benutzer bearbeitet die Parameterdatei der ARM-Vorlage (einmalige Bearbeitung). Diese Parameterwerte werden für die gesamte Bereitstellung verwendet.
Die ARM-Vorlage enthält eine benutzerdefinierte Azure-VM-Skripterweiterung, mit der das Shellskript
install_arc_agent.sh
bereitgestellt wird.Damit die Azure-VM erfolgreich als Server mit Azure Arc-Unterstützung projiziert werden kann, wird mit dem Skript Folgendes durchgeführt:
Festlegen von lokalen Betriebssystemumgebungsvariablen
Generieren einer Datei des Typs
~/.bash_profile
, die bei der ersten Anmeldung des Benutzers initialisiert wird, um die Umgebung zu konfigurieren. Mit diesem Skript werden folgende Vorgänge durchgeführt:Beenden und Deaktivieren des Linux Azure-Gast-Agent-Diensts
Erstellen einer neuen Betriebssystem-Firewallregel, um ausgehenden Datenverkehr von Azure IMDS an die Remoteadresse
169.254.169.254
zu blockierenInstallieren des mit Connected Machine-Agents für Azure Arc
Entfernen Sie die Datei
~/.bash_profile
, damit sie nach der ersten Anmeldung nicht ausgeführt wird.
Ein Benutzer stellt eine SSH-Verbindung mit der Linux-VM her, über die das Skript
~/.bash_profile
gestartet und die VM in Azure Arc integriert wird.Hinweis
Mit dem Shellskript
install_arc_agent.sh
werden die Betriebssystem-Firewall aktiviert und neue Regeln für ein- und ausgehende Verbindungen eingerichtet. Standardmäßig wird der gesamte ein- und ausgehende Datenverkehr zugelassen, außer wenn der ausgehende Datenverkehr von Azure IMDS an die Remoteadresse169.254.169.254
blockiert wird.
Bereitstellung
Wie zuvor erwähnt, werden bei dieser Bereitstellung ARM-Vorlagen verwendet. Sie stellen eine einzelne Vorlage bereit, mit der alle Azure-Ressourcen in einer einzelnen Ressourcengruppe erstellt werden und die erstellte VM in Azure Arc integriert wird.
Melden Sie sich vor dem Bereitstellen der ARM-Vorlage über Azure-Befehlszeilenschnittstelle mit dem Befehl
az login
an.Bei der Bereitstellung wird die Parameterdatei der ARM-Vorlage verwendet. Bearbeiten Sie vor dem Initiieren der Bereitstellung die Datei
azuredeploy.parameters.json
im Ordner des lokalen geklonten Repository. Eine Beispielparameterdatei finden Sie hier.Navigieren Sie zum Bereitstellen der ARM-Vorlage zum lokalen geklonten Bereitstellungsordner, und führen Sie den folgenden Befehl aus:
az group create --name <Name of the Azure resource group> --location <Azure region> --tags "Project=jumpstart_azure_arc_servers" az deployment group create \ --resource-group <Name of the Azure resource group> \ --name <The name of this deployment> \ --template-uri https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_servers_jumpstart/azure/linux/arm_template/azuredeploy.json \ --parameters <The `azuredeploy.parameters.json` parameters file location>
Hinweis
Verwenden Sie die gleiche Azure-Ressourcengruppe, die in der Datei
azuredeploy.parameters.json
verwendet wurde.Beispiel:
az group create --name Arc-Servers-Linux-Demo --location "westeurope" --tags "Project=jumpstart_azure_arc_servers" az deployment group create \ --resource-group Arc-Servers-Linux-Demo \ --name arclinuxdemo \ --template-uri https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_servers_jumpstart/azure/linux/arm_template/azuredeploy.json \ --parameters azuredeploy.parameters.json
Nachdem Azure-Ressourcen bereitgestellt wurden, werden sie im Azure-Portal angezeigt.
Linux-Anmeldung und Vorgehensweise nach der Bereitstellung
Nach der Erstellung der Linux-VM wird im nächsten Schritt eine Verbindung mit der VM hergestellt. Verwenden Sie die zugehörige öffentliche IP-Adresse, um eine SSH-Verbindung mit der VM herzustellen.
Bei der ersten Anmeldung wird wie im Abschnitt Automatisierungsflow beschrieben ein Anmeldeskript ausgeführt. Dieses Skript wurde als Teil des automatisierten Bereitstellungsprozesses erstellt.
Führen Sie das Skript aus, und schließen Sie die SSH-Sitzung nicht. Die Sitzung wird nach Abschluss des Vorgangs automatisch geschlossen.
Nach erfolgreichem Abschluss wird ein neuer Server mit Azure Arc-Unterstützung in der Ressourcengruppe hinzugefügt.
Cleanup
Zum Löschen der gesamten Bereitstellung löschen Sie die Ressourcengruppe im Azure-Portal.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für