Bereitstellen der Azure Arc-Ressourcenbrücke über die Befehlszeile

Gilt für: Azure Stack HCI, Version 21H2

Um die Bereitstellung virtueller Computer auf Azure Stack HCI über das Azure-Portal zu aktivieren, müssen Sie die Azure Arc-Ressourcenbrücke bereitstellen.

Sie können die Azure Arc-Ressourcenbrücke mit dem Windows Admin Center oder über die Befehlszeile im Azure Stack HCI-Cluster bereitstellen.

In diesem Artikel wird beschrieben, wie Sie die Befehlszeile verwenden, um die Azure Arc-Ressourcenbrücke bereitzustellen. Dazu gehören:

Wenn Sie die Azure Arc-Ressourcenbrücke mithilfe von Windows Admin Center bereitstellen möchten, lesen Sie die Informationen unter Bereitstellen der Azure Arc-Ressourcenbrücke über das Windows Admin Center.

Weitere Informationen zur VM-Bereitstellung über das Azure-Portal finden Sie unter VM-Bereitstellung über das Azure-Portal auf Azure Stack HCI (Vorschau).

Voraussetzungen

Bevor Sie mit einer Bereitstellung der Azure Arc-Ressourcenbrücke beginnen, sollten Sie Ihre Infrastruktur für physische Netzwerke und Hostnetzwerke planen und konfigurieren. Sehen Sie sich folgende Abschnitte an:

Installieren von PowerShell-Modulen und Aktualisieren von Erweiterungen

Führen Sie die folgenden Schritte über RDP (Remote Desktop Protocol) oder eine Konsolensitzung aus, um die Installation der Azure Arc-Ressourcenbrücke in einem Azure Stack HCI-Cluster vorzubereiten und eine VM-Clustererweiterung zu erstellen. Remote PowerShell wird nicht unterstützt.

  1. Installieren Sie die erforderlichen PowerShell-Module, indem Sie das folgende Cmdlet als Administrator auf allen Servern des Azure Stack HCI-Clusters ausführen:

    Install-PackageProvider -Name NuGet -Force 
    Install-Module -Name PowershellGet -Force -Confirm:$false -SkipPublisherCheck  
    

    Starten Sie alle geöffneten PowerShell-Fenster neu.

    Install-Module -Name Moc -Repository PSGallery -AcceptLicense -Force
    Initialize-MocNode
    Install-Module -Name ArcHci -Force -Confirm:$false -SkipPublisherCheck -AcceptLicense
    
  2. Starten Sie PowerShell neu, und stellen Sie dann im PowerShell-Fenster auf einem beliebigen Server des Clusters Angaben für Folgendes bereit. Die Parameter werden in der folgenden Tabelle beschrieben:

    $vswitchName="<Switch-Name>"
    $controlPlaneIP="<IP-address>"
    $csv_path="<input-from-admin>"
    $vlanID="<vLAN-ID>" (Optional)
    $VMIP="<static IP address for Resource Bridge VM>" (required only for static IP configurations)   
    $DNSServers="<comma separated list of DNS servers>" (required only for static IP configurations)
    $IPAddressPrefix="<subnet mask for the IP address>" (required only for static IP configurations)
    $Gateway="<IPv4 address of the default gateway>" (required only for static IP configurations)
    $cloudServiceIP="<IP-address>" (required only for static IP configurations)
    

    Dabei gilt:

    Wert BESCHREIBUNG
    vswitchName Muss mit dem Namen des Switchs auf dem Host übereinstimmen. Das von diesem VM-Switch bediente Netzwerk muss statische IP-Adressen für controlPlaneIP bereitstellen können.
    controlPlaneIP Die IP-Adresse, die für den Lastenausgleich in der Arc-Ressourcenbrücke verwendet wird. Die IP-Adresse muss sich im selben Subnetz wie der DHCP-Bereich befinden und aus dem DHCP-Bereich ausgeschlossen werden, um IP-Adresskonflikte zu vermeiden.
    csv_path Ein CSV-Volumepfad, auf den alle Server des Clusters zugreifen können. Dieser wird zum Zwischenspeichern von Betriebssystemimages verwendet, die für die Azure Arc-Ressourcenbrücke verwendet werden. Außerdem werden bei der Installation temporäre Konfigurationsdateien und nach der Installation Cloud-Agent-Konfigurationsdateien gespeichert. Beispiel: C:\ClusterStorage\contosoVol.
    vlanID vLAN-Bezeichner (optional).
    VMIP IP-Adresse für die Arc-Ressourcenbrücke (nur für statische IP-Konfigurationen erforderlich). Ohne Angabe dieses Parameters erhält die Arc-Ressourcenbrücke eine per DHCP zugewiesene IP-Adresse.
    DNSServers Durch Kommas getrennte Liste von DNS-Servern (nur für statische IP-Konfigurationen erforderlich). Beispiel: "192.168.250.250","192.168.250.255".
    IPAddressPrefix „PrefixLength“ gibt die Subnetzmaske für die IP-Adresse an (nur für statische IP-Konfigurationen erforderlich). Beispiel: "192.168.0.0/16".
    Gateway IPv4-Adresse des Standardgateways (nur für statische IP-Konfigurationen erforderlich).
    cloudServiceIP Die IP-Adresse des Cloud-Agents, der unter der Ressourcenbrücke ausgeführt wird (nur für statische IP-Konfigurationen erforderlich). Diese ist erforderlich, wenn die Clusterserver über statisch zugewiesene IP-Adressen verfügen. Die IP-Adresse muss aus dem zugrunde liegenden Netzwerk (physisches Netzwerk) bezogen werden.
  3. Bereiten Sie die Konfiguration für die Azure Arc-Ressourcenbrücke vor. Dieser Schritt variiert je nachdem, ob Azure Kubernetes Service (AKS) in Azure Stack HCI und Windows Server installiert ist oder nicht.

    • Falls AKS in Azure Stack HCI und Windows Server installiert ist: Überspringen Sie diesen Schritt, und fahren Sie mit Schritt 4 fort, um die erforderlichen Erweiterungen zu aktualisieren.

    • Falls AKS in Azure Stack HCI und Windows Server nicht installiert ist: Führen Sie die folgenden Cmdlets aus, um eine IP-Adresse für Ihre Azure Arc-Ressourcenbrücken-VM bereitzustellen:

      $vnet=New-MocNetworkSetting -Name hcirb-vnet -vswitchName $vswitchName -vipPoolStart $controlPlaneIP -vipPoolEnd $controlPlaneIP  
      
      Set-MocConfig -workingDir $csv_path\ResourceBridge  -vnet $vnet -imageDir $csv_path\imageStore -skipHostLimitChecks -cloudConfigLocation $csv_path\cloudStore -catalog aks-hci-stable-catalogs-ext -ring stable -CloudServiceIP $cloudServiceIP 
      
      Install-Moc
      

    Tipp

    Sehen Sie sich die Informationen zu Einschränkungen und bekannten Problemen an, wenn Azure Kubernetes Service auch für die Ausführung in diesem Cluster aktiviert ist.

  4. Aktualisieren Sie die erforderlichen Erweiterungen.

    • Deinstallieren Sie die alten Erweiterungen:

      az extension remove --name arcappliance
      az extension remove --name connectedk8s
      az extension remove --name k8s-configuration
      az extension remove --name k8s-extension
      az extension remove --name customlocation
      az extension remove --name azurestackhci
      
    • Installieren Sie die neuen Erweiterungen:

      az extension add --upgrade --name arcappliance
      az extension add --upgrade --name connectedk8s
      az extension add --upgrade --name k8s-configuration
      az extension add --upgrade --name k8s-extension
      az extension add --upgrade --name customlocation
      az extension add --upgrade --name azurestackhci
      

Erstellen eines benutzerdefinierten Speicherorts durch Installieren von Azure Arc Resource Bridge

Um einen benutzerdefinierten Speicherort zu erstellen, installieren Sie die Azure Arc-Ressourcenbrücke, indem Sie ein PowerShell-Fenster mit erhöhten Rechten starten und die folgenden Schritte ausführen:

  1. Stellen Sie Angaben für Folgendes bereit. Verwenden Sie dabei die Parameter gemäß der Beschreibung.

    $resource_group="<pre-created resource group in Azure>"
    $subscription="subscription ID in Azure"
    $Location="<Azure Region - Available regions include 'eastus', 'eastus2euap' and 'westeurope'>"
    $customloc_name="<name of the custom location, such as HCICluster -cl>"
    

    Tipp

    Führen Sie Get-AzureStackHCI aus, um diese Details zu finden.

  2. Melden Sie sich bei Ihrem Azure-Abonnement an, und rufen Sie die Erweiterung und die Anbieter für die Azure Arc-Ressourcenbrücke ab:

    az login --use-device-code
    az account set --subscription $subscription
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.ExtendedLocation
    az provider register --namespace Microsoft.ResourceConnector
    az provider register --namespace Microsoft.AzureStackHCI
    
  3. Führen Sie die folgenden Cmdlets basierend auf Ihren Netzwerkkonfigurationen aus:

    $resource_name= ((Get-AzureStackHci).AzureResourceName) + "-arcbridge"
    mkdir $csv_path\ResourceBridge
    New-ArcHciConfigFiles -subscriptionID $subscription -location $location -resourceGroup $resource_group -resourceName $resource_name -workDirectory $csv_path\ResourceBridge -controlPlaneIP $controlPlaneIP  -k8snodeippoolstart $VMIP -k8snodeippoolend $VMIP -gateway $Gateway -dnsservers $DNSServers -ipaddressprefix $IPAddressPrefix [-vLanID=$vlanID]
    az arcappliance validate hci --config-file $csv_path\ResourceBridge\hci-appliance.yaml
    
    az arcappliance prepare hci --config-file $csv_path\ResourceBridge\hci-appliance.yaml
    
    az arcappliance deploy hci --config-file  $csv_path\ResourceBridge\hci-appliance.yaml --outfile $env:USERPROFILE\.kube\config
    
    az arcappliance create hci --config-file $csv_path\ResourceBridge\hci-appliance.yaml --kubeconfig $env:USERPROFILE\.kube\config
    
  4. Überprüfen Sie, ob die Arc-Appliance ausgeführt wird. Führen Sie die folgenden Cmdlets solange aus, bis der Bereitstellungsstatus der Appliance Succeeded (Erfolgreich) lautet und der Status Running (Wird ausgeführt) ist. Dieser Vorgang kann bis zu fünf Minuten in Anspruch nehmen.

    az arcappliance show --resource-group $resource_group --name $resource_name
    
  5. Fügen Sie die erforderlichen Erweiterungen hinzu, damit die VM-Verwaltungsfunktionen über die neu bereitgestellte Arc-Ressourcenbrücken-Instanz aktiviert werden können:

    $hciClusterId= (Get-AzureStackHci).AzureResourceUri
    az k8s-extension create --cluster-type appliances --cluster-name $resource_name --resource-group $resource_group --name hci-vmoperator --extension-type Microsoft.AZStackHCI.Operator --scope cluster --release-namespace helm-operator2 --configuration-settings Microsoft.CustomLocation.ServiceAccount=hci-vmoperator --configuration-protected-settings-file $csv_path\ResourceBridge\hci-config.json --configuration-settings HCIClusterID=$hciClusterId --auto-upgrade true
    
  6. Überprüfen Sie, ob die Erweiterungen installiert sind. Führen Sie das folgende Cmdlet solange aus, bis der Bereitstellungsstatus der Erweiterung Erfolgreich lautet. Dieser Vorgang kann bis zu fünf Minuten in Anspruch nehmen.

    az k8s-extension show --cluster-type appliances --cluster-name $resource_name --resource-group $resource_group --name hci-vmoperator
    
  7. Erstellen Sie einen benutzerdefinierten Speicherort für den Azure Stack HCI-Cluster, wobei customloc_name der Name des benutzerdefinierten Speicherorts ist, z. B. „HCICluster -cl“:

    az customlocation create --resource-group $resource_group --name $customloc_name --cluster-extension-ids "/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ResourceConnector/appliances/$resource_name/providers/Microsoft.KubernetesConfiguration/extensions/hci-vmoperator" --namespace hci-vmoperator --host-resource-id "/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ResourceConnector/appliances/$resource_name" --location $Location
    

Nun können Sie zur Ressourcengruppe in Azure navigieren und den benutzerdefinierten Speicherort sowie die Azure Arc-Ressourcenbrücken-Instanz sehen, die Sie für den Azure Stack HCI-Cluster erstellt haben.

Da jetzt der benutzerdefinierte Speicherort verfügbar ist, können Sie virtuelle Netzwerke und Katalogimages für den benutzerdefinierten Speicherort erstellen oder hinzufügen, der dem Azure Stack HCI-Cluster zugeordnet ist.

  1. Erstellen Sie einen Netzwerkswitch für VMs, oder fügen Sie einen hinzu. Stellen Sie sicher, dass auf allen Hosts des Azure Stack HCI-Clusters ein externer VM-Switch bereitgestellt wird. Geben Sie den VM-Switchnamen an, der bei der VM-Bereitstellung für Netzwerkschnittstellen verwendet wird. Der Parameter vnetName muss der Name des virtuellen Netzwerks der Hosts des Clusters sein, z. B. „myvnet“.

    $vnetName=<name of the vnet>
    az azurestackhci virtualnetwork create --subscription $subscription --resource-group $resource_group --extended-location name="/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ExtendedLocation/customLocations/$customloc_name" type="CustomLocation" --location $Location --network-type "Transparent" --name $vnetName
    
  2. Erstellen Sie ein Betriebssystemkatalogimage für die Erstellung virtueller Computer, indem Sie die folgenden Cmdlets ausführen und die in der folgenden Tabelle beschriebenen Parameter angeben.

    Stellen Sie sicher, dass ein Windows- oder Linux-VHDX-Image vorhanden ist, das lokal auf dem Host kopiert wurde. Das VHDX-Image muss vom Typ Gen-2 sein und sicheren Start ermöglichen. Es sollte sich auf einem freigegebenen Clustervolume befinden, das für alle Server im Cluster verfügbar ist. Azure Stack HCI mit Arc-Unterstützung unterstützt Windows- und Linux-Betriebssysteme.

    $galleryImageName=<gallery image name>
    $galleryImageSourcePath=<path to the source gallery image>
    $osType="<Windows/Linux>"
    az azurestackhci galleryimage create --subscription $subscription --resource-group $resource_group --extended-location name="/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ExtendedLocation/customLocations/$customloc_name" type="CustomLocation" --location $Location --image-path $galleryImageSourcePath --name $galleryImageName --os-type $osType
    

    Dabei gilt:

    Wert BESCHREIBUNG
    galleryImageName Name des Katalogimages (beispielsweise „win-os“). Beachten Sie, dass Azure alle Namen ablehnt, die das Schlüsselwort „Windows“ enthalten.
    galleryImageSourcePath Pfad zum VHDX-Quellkatalogimage (beispielsweise „C:\OSImages\winos.vhdx“).
    osType Der Betriebssystemtyp. Kann auf „Windows“ oder „Linux“ festgelegt werden.

Nächste Schritte