Distribuera Azure Arc Resource Bridge med hjälp av kommandoraden

Gäller för: Azure Stack HCI, version 21H2

Om du vill aktivera etablering av virtuella datorer (VM) via Azure Portal på Azure Stack HCI måste du distribuera Azure Arc Resource Bridge.

Du kan distribuera Azure Arc Resource Bridge i Azure Stack HCI-klustret med hjälp av Windows Admin Center eller kommandoraden.

Den här artikeln beskriver hur du använder kommandoraden för att distribuera Azure Arc Resource Bridge, som omfattar:

Om du vill distribuera Azure Arc Resource Bridge med Windows Admin Center läser du Distribuera Azure Arc Resource Bridge med Windows Admin Center.

Mer information om etablering av virtuella datorer via Azure Portal finns i Etablering av virtuella datorer via Azure Portal i Azure Stack HCI (förhandsversion).

Innan du börjar

Innan du påbörjar Azure Arc Resource Bridge-distributionen ska du planera och konfigurera din fysiska nätverksinfrastruktur och värdnätverksinfrastruktur. Referera till följande avsnitt:

Installera PowerShell-moduler och uppdateringstillägg

Förbered för att installera Azure Arc Resource Bridge på ett Azure Stack HCI-kluster och skapa ett klustertillägg för virtuella datorer genom att utföra dessa steg via RDP (Remote Desktop Protocol) eller konsolsession. Fjärr-PowerShell stöds inte.

  1. Installera nödvändiga PowerShell-moduler genom att köra följande cmdlet som administratör på alla servrar i Azure Stack HCI-klustret:

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

    Starta om alla öppna PowerShell-fönster.

    Install-Module -Name Moc -Repository PSGallery -AcceptLicense -Force
    Initialize-MocNode
    Install-Module -Name ArcHci -Force -Confirm:$false -SkipPublisherCheck -AcceptLicense
    
  2. Starta om PowerShell och ange sedan indata för följande i PowerShell-fönstret på en server i klustret. I följande tabell finns en beskrivning av dessa parametrar.

    $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)
    

    där:

    Parameter Beskrivning
    vswitchName Ska matcha namnet på växeln på värden. Nätverket som hanteras av den här vmswitchen måste kunna tillhandahålla statiska IP-adresser för controlPlaneIP.
    controlPlaneIP IP-adressen som används för lastbalanseraren i Arc Resource Bridge. IP-adressen måste finnas i samma undernät som DHCP-omfånget och måste undantas från DHCP-omfånget för att undvika IP-adresskonflikter. Om DHCP används för att tilldela kontrollplanets IP-adress måste IP-adressen reserveras.
    csv_path En CSV-volymsökväg som är tillgänglig från alla servrar i klustret. Detta används för cachelagring av OS-avbildningar som används för Azure Arc Resource Bridge. Den lagrar även tillfälliga konfigurationsfiler under installation och molnagentkonfigurationsfiler efter installationen. Exempel: C:\ClusterStorage\contosoVol.
    vlanID (Valfritt) vLAN-identifierare.
    VMIP (Krävs endast för statiska IP-konfigurationer) IP-adress för Arc Resource Bridge. Om du inte anger den här parametern får Arc Resource Bridge en IP-adress från DHCP. IP-adressen från DHCP måste vara reserverad för Arc Resource Bridge.
    DNSServers (Krävs endast för statiska IP-konfigurationer) Kommaavgränsad lista över DNS-servrar. Exempel: "192.168.250.250,192.168.250.255".
    IPAddressPrefix (Krävs endast för statiska IP-konfigurationer) PrefixLength anger nätmasken för IP-adressen. IP-adressprefixet måste anges i CIDR-format. Exempel: "192.168.0.0/16".
    Gateway (Krävs endast för statiska IP-konfigurationer) IPv4-adressen för standardgatewayen.
    cloudServiceIP (Krävs endast för statiska IP-konfigurationer) IP-adressen för molnagenten som körs under resursbryggningen. Detta krävs om klusterservrarna har statiskt tilldelade IP-adresser. IP-adressen måste hämtas från det underliggande nätverket (det fysiska nätverket).
  3. Förbereda konfigurationen för Azure Arc Resource Bridge. Det här steget varierar beroende på om Azure Kubernetes Service (AKS) på Azure Stack HCI är installerat eller inte.

    • Om AKS på Azure Stack HCI är installerat. Hoppa över det här steget och fortsätt till steg 4 för att uppdatera de tillägg som krävs.

    • Om AKS på Azure Stack HCI inte är installerat. Kör följande cmdletar för att ange en IP-adress till din virtuella Azure Arc Resource Bridge-dator:

      $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
      

    Tips

    Se Begränsningar och kända problem om Azure Kubernetes Service också är aktiverat för att köras på det här klustret.

  4. Uppdatera de tillägg som krävs.

    • Avinstallera de gamla tilläggen:

      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
      
    • Installera de nya tilläggen:

      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
      

Skapa en anpassad plats genom att installera Azure Arc Resource Bridge

Om du vill skapa en anpassad plats installerar du Azure Arc Resource Bridge genom att starta ett upphöjt PowerShell-fönster och utföra följande steg:

  1. Kör följande cmdletar. En beskrivning av parametrarna finns i följande tabell.

    $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 <HCIClusterName>-cl>"
    

    där:

    Parameter Beskrivning
    resource_group Namnet på den i förväg skapade resursgruppen i Azure.
    Prenumeration Prenumerations-ID i Azure.
    Plats Namnet på Azure-regionen. Ange någon av följande tillgängliga regioner: eastus, eastus2euap eller westeurope.
    customloc_name Namnet på den anpassade platsen, till exempel HCIClusterName-cl.

    Tips

    Kör Get-AzureStackHCI för att hitta den här informationen.

  2. Logga in på din Azure-prenumeration och hämta tillägget och leverantörerna för Azure Arc Resource Bridge:

    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. Kör följande cmdletar baserat på dina nätverkskonfigurationer:

    $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. Kontrollera att Arc-installationen körs. Fortsätt att köra följande cmdletar tills etableringstillståndet för installationen har slutförts och statusen körs. Den här åtgärden kan ta upp till fem minuter.

    az arcappliance show --resource-group $resource_group --name $resource_name
    
  5. Lägg till de tillägg som krävs för vm-hanteringsfunktioner som ska aktiveras via den nyligen distribuerade Arc Resource Bridge:

    $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. Kontrollera att tilläggen är installerade. Fortsätt att köra följande cmdlet tills tilläggets etableringstillstånd har slutförts. Den här åtgärden kan ta upp till fem minuter.

    az k8s-extension show --cluster-type appliances --cluster-name $resource_name --resource-group $resource_group --name hci-vmoperator
    
  7. Skapa en anpassad plats för Azure Stack HCI-klustret, där customloc_name är namnet på den anpassade platsen, till exempel "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
    

Nu kan du navigera till resursgruppen i Azure och se den anpassade platsen och Azure Arc-resursbryggan som du har skapat för Azure Stack HCI-klustret.

Nu när den anpassade platsen är tillgänglig kan du skapa eller lägga till virtuella nätverk och galleriavbildningar för den anpassade plats som är associerad med Azure Stack HCI-klustret.

  1. Skapa eller lägg till en nätverksväxel för virtuella datorer. Kontrollera att du har en extern vmswitch distribuerad på alla värdar i Azure Stack HCI-klustret.

    $vnetName=<name of the vnet>
    New-MocGroup -name "Default_Group" -location "MocLocation"
    New-MocVirtualNetwork -name "$vnetName" -group "Default_Group" -tags @{'VSwitch-Name' = "$vmswitchName"} [[-ipPools] <String[]>] [[-vlanID] <UInt32>]
    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. Skapa en os-galleriavbildning som ska användas för att skapa virtuella datorer genom att köra följande cmdletar och ange de parametrar som beskrivs i följande tabell.

    Kontrollera att du har en Windows- eller Linux VHDX-avbildning kopierad lokalt på värden. VHDX-avbildningen måste vara av typen gen-2 och ha säker start aktiverat. Den bör finnas på en klusterdelad volym som är tillgänglig för alla servrar i klustret. Arc-aktiverade Azure Stack HCI stöder Windows- och Linux-operativsystem.

    $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
    

    där:

    Parameter Beskrivning
    galleryImageName Namnet på galleribilden; till exempel "win-os". Observera att Azure avvisar alla namn som innehåller nyckelordet "Windows".
    galleryImageSourcePath Sökväg till källgalleribilden VHDX; till exempel "C:\ClusterStorage\Volume01\OSImages\winos.vhdx".
    osType Typ av operativsystem. Detta kan vara "Windows" eller "Linux"; till exempel "Windows".

Nästa steg