Azure VM-Bereitstellung – exemplarische Vorstellung
Dieses Beispiel führt Sie durch die Komponenten von Cloud Provisioning and Governance, die während der Bereitstellung eines virtuellen Computers in einem Azure-Rechenzentrum in Betrieb sind. Zu den behandelten Themen gehören Blaupausen, Ressourcenblöcke, die Cloud-API (CAPI) und Skripteinbindungen MID-Server.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Diese erläuternde Vorstellung beginnt mit einer Linux-VM, die ein Benutzer bereits in Azure bereitgestellt hat. Anschließend werden Ihnen die Blaupause mit der VM, den Ressourcenblöcken und den in den Ressourcenblöcken angegebenen CAPI-Aufrufen vorgesellt. Abschließend zeigt Ihnen die Vorführung, wie eine MID-Server-Skripteinbindung über mehrere CAPI-Aufrufe die tatsächlichen REST-Aufrufe an die Azure-API durchführt.
In diesem Beispiel werden Standardressourcenblocks und Skript Includes verwendet, die in Ihrer Instanz verfügbar sind. Deshalb können Sie, obwohl Sie möglicherweise keine bereitgestellte VM auf Ihrer Instanz haben, trotzdem diese Schritte befolgen und die in diesem Beispiel verwendeten Komponenten anzeigen, um die Arbeitsweise der Komponenten zu verstehen.
Ein Beispiel für einen virtuellen Computer in AWS finden Sie unter VM-Bereitstellung bei AWS – Beispiel-Vorstellung.
Prozedur
-
Betrachten Sie eine eingerichtete VM im Cloud User Portal und richten Sie den Fokus auf einige Details zur VM:
- Öffnen Sie in der Instanzschnittstelle [ Basissystem die Cloudbenutzerportal (Cloud-Benutzerportal) an.
-
Rufen Sie auf Cloudbenutzerportal eine bereitgestellte VM in einem Stapel auf, z. B. diese VM, indem Sie auf Stapel und dann auf den Namen des Stapels klicken.
In diesem Beispiel heißt der Stapel MyAzureVM.
-
Klicken Sie unter Resources(Ressourcen) auf den virtuellen Computer im Stapel.
-
Rufen Sie die Eigenschaften der VM auf; beachten Sie, dass sie sich in einem Azure-Rechenzentrum in der Region Eastus befindet.
-
Sehen Sie sich die Blaupause an, auf der die VM basiert:
-
Navigieren zu Design > Blueprints, und öffnen Sie dann eine Blaupause mit einem virtuellen Server im Azure-Rechenzentrum. Die Registerkarte Bereitstellungsmodell wird standardmäßig angezeigt und zeigt die verschiedenen Komponenten der Blaupause.
Diese Beispiel-Blaupause hat drei Komponenten: den Container, den virtuellen Server, der die bereitgestellte VM ist, und das Azure-Rechenzentrum.
-
Klicken Sie unten auf die Registerkarte Vorgänge und dann auf Bereitstellung.
Der Bereitstellungsvorgang ist der Vorgang, den das System beim Erstellen der VM ausgelöst hat. Andere Standardvorgänge sind verfügbar, in diesem Beispiel konzentrieren wir uns aber auf den Bereitstellungsvorgang.
-
Klicken Sie auf den Block Bereitstellung für die Container-Ressource der Blaupause.
-
Beachten Sie, dass einer der Parameter auf der rechten Seite in der Inputs-Liste „Location“ lautet.
Dieser Parameter speichert den Statuswert, der aussagt, wo die VM im Datencenter lebt.
Eingaben können auf Container-Ebene festgelegt werden, wie in diesem Beispiel, oder auf einem beliebigen anderen Ressourcenblock. Standardmäßig ist der Location-Parameter bereits für Sie im Blaupause-Container-Ressourcenblock festgelegt, sodass Sie ihn in jeder Blaupause wie dieser verwenden können. Wenn Sie den Status der Blaupause auf Entwurf wechseln, können Sie dem Container-Ressourcenblock der Blaupause weitere Parameter hinzufügen. Dem Ressourcenblock des virtuellen Servers können Sie keine Parameter hinzufügen. Für diese Anleitung werden keine weiteren Parameter benötigt.
-
Navigieren zu Design > Blueprints, und öffnen Sie dann eine Blaupause mit einem virtuellen Server im Azure-Rechenzentrum. Die Registerkarte Bereitstellungsmodell wird standardmäßig angezeigt und zeigt die verschiedenen Komponenten der Blaupause.
-
Betrachten Sie die Ressourcenblöcke des virtuellen Servers und des Azure-Rechenzentrums, die in dieser Blaupause verwendet werden:
- Navigieren Sie in Portal für Cloud-Admin.zu Design > Ressourcenblöcke.
-
Suchen und öffnen Sie den Ressourcenblock Virtueller Server, der standardmäßig mit Cloud Provisioning and Governance bereitgestellt wird.
- Klicken Sie im Ressourcenblock-Formular auf die zugehörige Liste Hostressource, um die Liste der unterstützten Host-Ressourcenblöcke anzuzeigen.
-
Beachten Sie die Host-Schnittstelle und die Host-Ressource, die bereits angegeben wurden:
- Das Feld Host Interface (Host-Schnittstelle) gibt die Schnittstelle an, die mit der Gastschnittstelle im Ressourcenblock, der den virtuellen Computer hostet, übereinstimmen muss. In diesem Fall ist die Host-Schnittstelle die Compute-Schnittstelle, die auch die Gastschnittstelle auf dem Azure Datacenter-Ressourcenblock ist. Standardmäßig stellt der Rechenzentrum-Ressourcenblock mehrere Gastschnittstellen bereit, über die sich andere Ressourcenblöcke mit dem Datacenter verbinden können, beispielsweise der virtuelle Speicher.
- Die Spalte HostResource in der zugehörigen Liste Host Resource (Host-Ressource) gibt bereits Azure Datacenter (Azure-Rechenzentrum) an, was bedeutet, dass der Azure-Rechenzentrum-Ressourcenblock ein gültiger Host für diese VM ist.
-
Klicken Sie auf die Registerkarte Vorgänge, und klicken Sie dann auf die untergeordnete Registerkarte Schritte.
-
Wählen Sie in der Liste Vorgang die Option Bereitstellung aus.
Denken Sie daran, dass es der Bereitstellungsvorgang ist, mit dem das System die VM erstellt. Andere Standardvorgänge sind verfügbar, in diesem Beispiel konzentrieren wir uns aber auf den Bereitstellungsvorgang.
-
Beachten Sie den Schritt, der in der Liste angezeigt wird, und die vollständige Schrittbeschreibung, die über den Eingabeparametern angezeigt wird:
(Schritt für Bereitstellung)
- Host Resource Operation: (Hostressourcenvorgang) gibt an, dass dieser Schritt einen Vorgang für die Hostressource (das Azure-Rechenzentrum in diesem Beispiel) aufruft.
- Compute Interface (Compute-Schnittstelle) ist die Gastschnittstelle im Azure-Rechenzentrum, die dieser Schritt verwendet.
- ConnectAndCreateVirtualMachine ist der Vorgang im Azure-Rechenzentrum, den dieser Schritt aufruft.
Hinweis:In diesem Fall ruft der Schritt einen Vorgang von einem anderen Ressourcenblock auf: dem Azure-Rechenzentrum. Schritte können CAPI auch direkt aufrufen, und dann kann CAPI REST-Aufrufe an die Cloud-Provider-API ausführen. Das sehen Sie, wenn Sie sich den Ressourcenblock des Azure-Rechenzentrums ansehen. - Navigieren Sie zurück zu Design > Ressourcenblöcke.
- Öffnen Sie den Ressourcenblock Azure Datacenter (Azure-Rechenzentrum), der den Host-Ressourcenblock darstellt, mit dem der virtuelle Server verbunden ist.
-
Beachten Sie die unterstützten Gastschnittstellen in der zugehörigen Liste Guest Interface (Gastschnittstelle):
(Azure-Rechenzentrum mit Compute-API)
Diese Gastschnittstellen sind die Schnittstellen, die das Azure-Rechenzentrum anderen Ressourcenblöcken zur Verfügung stellt. Die Option Compute Interface (Compute-Schnittstelle) wird bereitgestellt, damit der Ressourcenblock des virtuellen Servers, der die Compute-Schnittstelle als Host-Schnittstelle angibt, eine Verbindung zum Rechenzentrum herstellen kann.
-
Klicken Sie auf die Registerkarte Vorgänge, und klicken Sie dann auf die untergeordnete Registerkarte Schritte.
-
Wählen Sie in der Liste Interface (Schnittstelle) die Option Compute Interface (Compute-Schnittstelle) aus, wenn sie nicht bereits ausgewählt ist.
Denken Sie daran, dass diese Schnittstelle im Ressourcenblock des virtuellen Servers angegeben ist.
-
Suchen Sie in der Liste Operation (Vorgang) die Option ConnectAndCreateVirtualMachine und wählen Sie sie aus.
Dabei ist zu berücksichtigen, dass diese Schnittstelle im Ressourcenblock des virtuellen Servers angegeben ist.
-
Zu beachten ist der CAPI-Aufruf, der im einzigen Schritt für den Vorgang „ConnectAndCreateVirtualMachine“ verwendet wird:
- Cloud API: (Cloud-API) Gibt an, dass dieser Schritt CAPI aufruft, sodass CAPI einen REST-Aufruf an den Cloud-Anbieter ausführen kann, der in diesem Fall Azure ist.
- Compute Interface (Compute-Schnittstelle) gibt die CAPI-Schnittstelle vor, die von diesem Schritt aufgerufen wird.
- CreateNode gibt die Methode an, die ausgeführt wird. Wie der Name schon sagt, weist diese Methode den Cloud-Anbieter an, den virtuellen Computer zu erstellen.
-
So öffnen Sie die Schrittkonfiguration: Der Ressourcenblock muss den Status Draft (Entwurf) aufweisen. Zeigen Sie dann auf den hervorgehobenen (blauen) Schritt, und klicken Sie auf das Symbol Edit Step (Schritt bearbeiten).
-
Sehen Sie sich die Schrittkonfiguration an, und hier insbesondere die Einstellungen, die in CAPI integriert werden:
Feld Beschreibung Vorgangstyp Invoke Cloud API (Cloud-API aufrufen) gibt an, dass dieser Schritt die CAPI über den angegebenen Anbieter, die angegebene Schnittstelle und die angegebene Methode aufrufen soll. API-Anbieter (der eigentlich das Produkt ist) Microsoft.Compute ist ein Produkt (nicht der tatsächliche Anbieter), das zum Azure-Anbieter gemäß der Definition in CAPI gehört. API-Schnittstelle Compute Interface (Compute-Schnittstelle) ist ein Produkt, das zum Azure-Anbieter gemäß der Definition in CAPI gehört. API-Methode CreateNode ist die Methode, die Azure zum Erstellen der VM aufruft. Hinweis:Die CAPI-API-Definition verbindet den Anbieter (Azure), das Produkt (Microsoft.Compute), die Schnittstelle (Compute Interface) und die Methode (CreateNode). - Schließen Sie das Fenster.
-
Klicken Sie bei ausgewähltem Schritt Compute Interface.CreateNode auf Response Processor (Antwortprozessor); beachten Sie dabei das Skript Create_Virtual_Server_Response_Processor.
Dieses Skript ist der Antwortprozessor, der die CMDB in Ihrer Instanz aktualisiert, nachdem der virtuelle Computer erstellt wurde.
-
Zeigen Sie eine Erklärung des Skripts und das Beispiel an, das Teil des Themas unter Antwortprozessor erstellenist.
Wenn Sie die Überprüfung von diesem Themas abgeschlossen haben, kehren Sie zu diesem Thema zurück.
-
Sehen Sie sich die CAPI-Komponenten an, die zusammenarbeiten, um den virtuellen Computer bereitzustellen:
- Navigieren Sie im Cloud-Adminportal zu Design > Cloud-API.
- Klicken Sie auf die Registerkarte API und suchen Sie dann nach einer offenen Azure Compute-API.
-
Sehen Sie sich an, wie diese CAPI-API eine Schnittstelle und ein Produkt miteinander verknüpft:
Feld Beschreibung Cloud-API-Schnittstelle Compute Interface (Compute-Schnittstelle) ist die gleiche Schnittstelle, die im Ressourcenblock angegeben ist. Die Schnittstelle enthält die Definition für Methoden, einschließlich der Methode CreateStack. Connector Script Connector (Script-Connector) gibt an, dass diese CAPI eine Skripteinbindung MID-Server für jeden Vorgang bereitstellt. Die Skripteinbindung ruft die API auf. Sie können die Skripteinbindung ändern oder sogar eine neue erstellen. Version 1.0 gibt die Version der API an. Sie können über mehrere Versionen dieser API mit unterschiedlichen Versionsnummern verfügen. Beachten Sie, dass im Schritt im Ressourcenblock für das Rechenzentrum, den der virtuellen Computer erstellt, ein Versionsfeld bereitgestellt wird. Obwohl dieses Feld im Beispiel leer war, da nur eine Version dieser API vorhanden ist, können Sie eine andere Versionsnummer angeben. Produkt Microsoft.Compute ist das Produkt, das zum Anbieter in CAPI gehört. Dieses Produkt wird standardmäßig mit Cloud Provisioning and Governance geliefert und ist eines der am häufigsten verwendeten Produkte zum Erstellen virtueller Computer in Azure. -
Klicken Sie in der zugehörigen Liste „CAPI Method Mappers“ (CAPI-Methodenzuordnungen) auf das Symbol für die Datensatzvorschau für den Datensatz CreateNode, und klicken Sie dann auf Open Record (Datensatz öffnen).
-
Sehen Sie sich die Methodenzuordnung für CreateNode an:
Beachten Sie, dass Endpoint Operation (Endpunktvorgang) Execute Script (Skript ausführen) ist, was anzeigt, dass eine anpassbare Skripteinbindung zum Aufrufen von Funktionen in CAPI verwendet wird, die letztlich die REST-Aufrufe an Azure durchführt. Die Skripteinbindung azure-compute-1.0-CreateNode MID-Server ist im Feld Request script (Skript anfordern) angegeben.
Dieses Schaubild zeigt, wie die Komponenten – vom Ressourcenblock bis zur Skripteinbindung – verbunden sind:
-
Klicken Sie auf das Datensatzsymbol (
) für das Anforderungsskript.
Die Skripteinbindung azure-compute-1.0-CreateNode MID-Server wird geöffnet.
-
Überprüfen Sie den Inhalt des Skripts.
createNode(); function createNode(){ var acp = new AzureComputeVirtualMachine(this.parameters, this.headers); var vm = acp.createVirtualMachine(); return vm; }Das Skript ruft die Funktion createVirtualMachine in der Klasse AzureComputeVirtualMachine auf. Dies gibt den erstellten virtuellen Computer zurück. Die Klasse AzureComputeVirtualMachine erweitert AzureCloudAPIBase, eine der Basis-APIs in Cloud Provisioning and Governance.
- Um die Klasse AzureComputeVirtualMachine anzuzeigen, bei der es sich um eine MID-Server -Skripteinbindung handelt, öffnen Sie die Basissystem Instanzschnittstelle (nicht Portal für Cloud-Admin.) und navigieren dann zu MID-Server > Skripteinbindungen.
-
Suchen Sie nach AzureComputeVirtualMachine und öffnen Sie sie.
-
Überprüfen Sie die Funktion
createVirtualMachine:Die Funktion definiert viele Variablen, die zum Erstellen eines virtuellen Computers erforderlich sind, einschließlich Location (Rechenzentrum), den Namen des virtuellen Computers usw.
var location = this.parameters.get('Location'); var vmName = this.parameters.get('NodeName'); ...Diese Codezeile ruft die Funktion
_performVMOperationin derselben Skripteinbindung auf und übergibt die erforderlichen Parameter. Beachten Sie, dass ein leerer Wert''für den Parameteraction(Aktion) weitergeleitet wird:var response = this._performVMOperation(subscriptionId, resourceGroup, vmName, '', 'PUT', jsonObj.encode(params));Die Funktion
_performVMOperationruft die Funktion_invokeRequestauf, die sich in der Klasse AzureCloudAPIBase befindet:return this._invokeRequest(this.pathDefault, param, method, requestBody);Die PUT-Methode für den REST-Aufruf wird im Parameter method angegeben.
Sehen Sie sich Skripteinbindung AzureCloudAPIBase MID-Server an . Die Funktion
_invokeRequestruft zuerst die Funktion_getEndpointauf, um den Endpunkt abzurufen, sowie die Funktion_getAPIInvoker, um die Klasse AzureAPIInvoker als die Klasse zu identifizieren, die den tatsächlichen PUT-Aufruf aufruft:var apiInvoker = this._getAPIInvoker(apiEndpoint, this.apiVersion);AzureAPIInvoker ist von CloudRESTAPIInvoker erweitert, was die Basisfunktionen für alle Aufrufer bereitstellt. Sobald die richtige Aufruferklasse identifiziert ist, wird eine response-Variable erstellt, die den von der Funktion
invokePutin CloudRESTAPIInvoker zurückgegebenen Wert enthält:response = apiInvoker.invokePut(requestBody);Sehen Sie sich CloudRESTAPIInvoker an, die Basisklasse für alle Aufrufer. Die Funktion invokePut gibt die PUT-Methode an und ruft
getRequestauf. Sie gibt die Antwort der Funktion getResponse zurück, die einen Statuscode und die Antwort von Azure abruft. In dieser Aufruferklasse wird die Verbindung zu Azure hergestellt.Kehren Sie zu Skripteinbindung AzureComputeVirtualMachine MID-Server zurück, und suchen Sie diese Zeilen:
var response = this._performVMOperation(subscriptionId, resourceGroup, vmName, '', 'PUT', jsonObj.encode(params)); this._compareVMState(response.id, 'PowerState/running'); var nodeResponse = this.getVirtualMachine(response.id);Denken Sie daran, dass die Variable response vom Aufruf an
_performVMOperationzurückgegeben wird, was die Antwort vom API-Aufrufer umfasst, der die PUT-Methode ausgelöst hat. Die Variable nodeResponse enthält die Antwort der FunktiongetVirtualMachine-, die die ID des virtuellen Computers in der Antwort weiterleitet. Die FunktiongetVirtualMachineruft_getVMInfoauf, die ebenfalls die Funktion_invokeRequest-aufruft, die bereits zuvor aufgerufen wurde. Dieser Aufruf stellt eine weitere Verbindung zum Aufrufer dar, der die eigentlichen REST-Aufrufe durchführt. In diesem Fall ist der REST-Aufruf ein GET REST-Aufruf von Azure, um die Identität des virtuellen Computers zu erhalten.Die Zeile
return nodeResponse;gibt nodeResponse in der FunktioncreateVirtualMachinezurück, die von der Skripteinbindung MID-Server im Vorgang createNode aufgerufen wurde.Diese Grafik zeigt die beteiligten Klassen:
- Navigieren Sie zurück zum API-Formular von Azure Compute.
-
Klicken Sie auf die zugehörige Liste API Config Overrides (API-Konfigurationsüberschreibungen), und überprüfen Sie die für die Authentifizierung erforderlichen Elemente.
Konfigurationsparameter und Überschreibungswert Beschreibung ClientID
$(CloudCredential.client_id)
Die Client-ID ist erforderlich, um die Anwendung in Azure zu identifizieren. EndpointURL
$(CloudCredential.URL)
Die Endpunkt-URL ist die autorisierende Eingabe in Azure. SecretKey
$(CloudCredential.secret_key)
Der geheime Schlüssel wird zur Autorisierung des Clients verwendet. TenantID
$(CloudCredential.tenant_id)
Die Mandanten-ID ist der global eindeutige Bezeichner für den Mandanten. EnrollmentNumber
$(CloudCredential.sn_cmp_ea_credential.enrollment_number)
EnrollmentToken
$(CloudCredential.sn_cmp_ea_credential.access_key)
Die Azure-Registrierungsnummer und das Token dienen dem Zugriff auf das Registrierungskonto. Unter Anmeldeinformationen des Azure-Dienstprinzipals in der Instanz speichern finden Sie weitere Informationen zu den Azure-Informationen, die in diesen Überschreibungen verwendet werden.
- Navigieren Sie zurück zu Design > Cloud-API, und klicken Sie dann auf die Registerkarte Schnittstelle.
- Suchen Sie nach Compute Interface (Compute-Schnittstelle) und öffnen Sie diese.
-
Überprüfen Sie den Inhalt der Schnittstelle.
Beachten Sie, dass die Schnittstelle REST-Antwortstrukturen für Methoden wie CreateNode bereitstellt. In der Regel müssen vorhandene Schnittstellen nicht geändert werden.Beachten Sie die Servicekategorie und die Vorgänge:
Feld oder zugehörige Liste Beschreibung Servicekategorie Die Servicekategorie klassifiziert die Schnittstelle. Die Kategorie für die Compute-Schnittstelle ist ebenfalls Compute. CAPI-Schnittstellenvorgänge Die Schnittstellenvorgänge definieren die JSON-Struktur für den REST-Aufruf und die Parameter, die für die Schnittstelle erforderlich sind. -
Klicken Sie auf den CAPI-Schnittstellenvorgang CreateNode.
Über diesen Vorgang wird das Framework für die Erstellung des virtuellen EC2-Servers bereitgestellt.
-
Überprüfen Sie die Komponenten des Vorgangs:
Feld oder zugehörige Liste Beschreibung Antwortstruktur Die Antwortstruktur ist das JSON-Framework für den REST API-Aufruf. Diese Struktur bietet eine Liste von Attributen, die der Anbieter zum Erstellen der virtuellen Ressource mit leeren Werten verwenden kann.
Parameter für Schnittstellenvorgänge Diese Parameter sind auch die Parameter, die die CAPI-Schnittstelle vom System benötigt, damit sie die Struktur im REST-Aufruf an den Cloud-Anbieter übergeben kann.
- Navigieren Sie zurück zu Design > Cloud-API und klicken Sie dann auf die Registerkarte Provider.
-
Öffnen Sie den Anbieter Azure.
Das Formular „Azure Cloud Provider“ (Azure-Cloud-Anbieter) wird geöffnet und zeigt an, dass dieser Anbieter auf einer vorhandenen CMDB-Klasse basiert: Azure Datacenter [cmdb_ci_azure_datacenter].
-
Klicken Sie auf die zugehörige Liste „Cloud Products“ (Cloud-Produkte), und sortieren Sie die Liste nach der Spalte Name.
Beachten Sie, dass standardmäßig mehrere Azure-Produkte verfügbar sind. Eines der am häufigsten verwendeten Azure-Produkte, die aus Vorlagen erstellt werden, ist Microsoft.Compute.
-
Klicken Sie in der Spalte Name auf Microsoft.Compute.
Beachten Sie, dass das Produkt viele Ressourcentypen angibt, die jeweils einer CI-Klasse zugeordnet sind.
Diese Ressourcentypen geben einige, aber nicht alle CIs an, die sich auf den virtuellen Computer beziehen. Der Antwortprozessor im Ressourcenblock füllt CIs mit Daten aus, wenn der Cloud-Anbieter den virtuellen Computer bereitstellt.
-
So zeigen Sie die wichtigen mit der VM verbundenen CIs an:
- Klicken Sie in Cloudbenutzerportal auf Stapel, und öffnen Sie dann den Stapel, der die VM enthält.
-
Klicken Sie auf das Symbol View Dependency (Abhängigkeit anzeigen).
Die Abhängigkeitszuordnung zeigt das Stapel-CI oben, den virtuellen Computer in der Mitte und die verschiedenen zugehörigen CIs unten, z. B. das Bild.
-
Sie rufen das Formular für den virtuellen Computer in der CMDB auf, indem Sie mit der rechten Maustaste auf den Pfeil neben einem CI klicken.
-
Wählen Sie im Menü View Form (Formular anzeigen).
Das CI-Formular wird geöffnet und zeigt an, dass viele der Informationen bereits auf Cloudbenutzerportal verfügbar sind, wenn Sie die Eigenschaften des virtuellen Computers anzeigen lassen.
VM-CI-Formular Eigenschaften des virtuellen Computers in Cloudbenutzerportal