Übung: Bereitstellen eines AKS Edge Essentials-K3s-Einzelcomputerclusters
In dieser Übung stellen Sie AKS Edge Essentials in einem K3s-Einzelcomputercluster mit einem Linux- und Windows-Knoten bereit. Sie verwenden Azure Cloud Shell, um eine Azure-VM mit Windows 11 Enterprise zu erstellen und ein PowerShell-Skript für die einfache Bereitstellung von AKS Edge Essentials auszuführen.
Erstellen einer Azure-VM mit Windows 11 Enterprise
Erstellen Sie nun mithilfe von Azure Cloud Shell die Azure-VM mit Windows 11 Enterprise.
Aktivieren Sie zunächst die Azure-Sandbox.
Führen Sie den folgenden Befehl in der Azure Cloud Shell aus, um die Variablen zum Erstellen der Azure-VM festzulegen:
resourcegroup="<rgn>[resource group name]</rgn>" vmname="myVM" username="azureuser" let "randomIdentifier=$RANDOM*$RANDOM" adminpassword="Admin-$randomIdentifier-Password!" echo Admin Password: $adminpassword
Hinweis
Notieren Sie sich den Wert für
Admin Password
. Sie benötigen sie später.Erstellen Sie die Azure-VM mit Windows 11 Enterprise mithilfe des Befehls az vm create:
az vm create \ --resource-group $resourcegroup \ --name $vmname \ --image MicrosoftVisualStudio:windowsplustools:base-win11-gen2:latest \ --public-ip-sku Standard \ --admin-username $username \ --admin-password $adminpassword \ --size Standard_D2s_v5 \ --security-type TrustedLaunch
Das Erstellen des virtuellen Computers und der unterstützenden Ressourcen dauert einige Minuten. In der folgenden Beispielausgabe wird angezeigt, dass der Vorgang der VM-Erstellung erfolgreich war.
{ "fqdns": "", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/learn-rg-0000/providers/Microsoft.Compute/virtualMachines/myVM", "location": "westus3", "macAddress": "00-00-00-00-00-00", "powerState": "VM running", "privateIpAddress": "10.0.0.4", "publicIpAddress": "00.000.000.000", "resourceGroup": "learn-rg-0000", "zones": "" }
Herunterladen von AKS Edge Essentials
Laden Sie das K3s-Installationsprogramm und die Windows-Knotendateien in die Azure-Dateifreigabe herunter, und binden Sie sie dann in die VM ein, damit Sie über das Laufwerk mit dem Buchstaben Z darauf zugreifen können.
Notieren Sie sich den Namen des Speicherkontos sowie den Schlüssel und den Namen der Azure-Dateifreigabe. Sie benötigen sie später:
storageAccountName=$(az storage account list --resource-group $resourcegroup --query '[0].name' -o tsv) storageAccountKey=$(az storage account keys list --resource-group $resourcegroup --account-name $storageAccountName --query '[0].value' -o tsv) storageAccountFile=$(az storage share list --account-name $storageAccountName --account-key $storageAccountKey --query '[0].name' -o tsv) echo Storage Account Name: $storageAccountName echo Storage Account Key: $storageAccountKey echo Storage Account File: $storageAccountFile
Laden Sie das K3s-Installationsprogramm und die Windows-Knotendateien und -Zertifikate auf die Azure-Dateifreigabe herunter:
curl -L -o ~/clouddrive/MicrosoftRootCertificateAuthority2011.cer "https://download.microsoft.com/download/2/4/8/248D8A62-FCCD-475C-85E7-6ED59520FC0F/MicrosoftRootCertificateAuthority2011.cer" && echo "Downloaded MicrosoftRootCertificateAuthority2011.cer" curl -L -o ~/clouddrive/MicCodSigPCA2011.crt "https://www.microsoft.com/pkiops/certs/MicCodSigPCA2011_2011-07-08.crt" && echo "Downloaded MicCodSigPCA2011.crt" curl -L -o ~/clouddrive/AksEdge-Learn.msi "https://aka.ms/aks-edge/k3s-msi" && echo "Downloaded AksEdge-Learn.msi" curl -L -o ~/clouddrive/AksEdgeWindows-Learn.zip "https://aka.ms/aks-edge/windows-node-zip" && echo "Downloaded AksEdgeWindows-Learn.zip"
Erstellen Sie die RDP-Datei, um eine Verbindung mit der VM herzustellen:
publicIp=$(az vm show -d -g $resourcegroup -n $vmname --query publicIps -o tsv) echo full address:s:$publicIp > ./myvm.rdp echo username:s:$username >> ./myvm.rdp
Laden Sie die RDP-Datei auf Ihren lokalen Computer herunter:
download myvm.rdp
Öffnen Sie die RDP-Datei, und stellen Sie eine Verbindung mit der VM her. Verwenden Sie dabei azureuser als Benutzer und den zuvor notierten Wert für
Admin Password
als Kennwort.Tipp
Wenn Sie sich zum ersten Mal bei der Azure-VM unter Windows 11 Enterprise anmelden, können Sie alle Optionen akzeptieren, indem Sie auf Weiter und Akzeptieren klicken.
Hinweis
Die folgenden Befehle werden in der PowerShell-Befehlszeile der VM ausgeführt.
Öffnen Sie die PowerShell-Befehlszeile, indem Sie auf das Menü Start klicken und PowerShell eingeben.
Führen Sie die folgenden PowerShell-Befehle aus, um die Azure-Dateifreigabe in die VM mit dem Buchstaben Z einzubinden. Ersetzen Sie die Werte von
[YOUR_STORAGE_ACCOUNT_NAME]
,[YOUR_STORAGE_ACCOUNT_KEY]
und[YOUR_STORAGE_ACCOUNT_FILE]
durch die Werte, die Sie zuvor notiert haben:$storageAccountName = "[YOUR_STORAGE_ACCOUNT_NAME]" $storageAccountKey = "[YOUR_STORAGE_ACCOUNT_KEY]" $storageAccountFile = "[YOUR_STORAGE_ACCOUNT_FILE]" # Save the password so the drive will persist on reboot cmd.exe /C "cmdkey /add:`"$storageAccountName.file.core.windows.net`" /user:`"localhost\$storageAccountName`" /pass:`"$storageAccountKey`"" # Mount the drive with the letter Z New-PSDrive -Name Z -PSProvider FileSystem -Root "\\$storageAccountName.file.core.windows.net\$storageAccountFile" -Persist
Bereitstellen von AKS Edge Essentials
Nachdem die VM erstellt wurde und die Installationsdateien heruntergeladen wurden, führen Sie das PowerShell-Skript AksEdgeQuickStart-v2.ps1
für die einfache Bereitstellung von AKS Edge Essentials aus.
Hinweis
Die folgenden Befehle werden in der PowerShell-Befehlszeile der VM ausgeführt.
Öffnen Sie die PowerShell-Befehlszeile, indem Sie auf das Menü Start klicken und PowerShell eingeben. Führen Sie dann den folgenden Befehl aus, um das Arbeitsverzeichnis in
C:\aksedgeLearn
zu ändern:if (!(Test-Path -Path "C:\aksedgeLearn")) { New-Item -ItemType Directory -Path "C:\aksedgeLearn" | Out-Null } Push-Location "C:\aksedgeLearn"
Installieren von Windows-Zertifikaten:
certutil.exe -addstore -f "AuthRoot" "Z:\\MicrosoftRootCertificateAuthority2011.cer" certutil.exe -addstore -f "CA" "Z:\\MicCodSigPCA2011.crt"
Legen Sie die Parameter fest, um einen K3s-Einzelcomputercluster mit einem Linux- und Windows-Knoten zu erstellen. Die Dateien
aideuser-config.json
undaksedge-config.json
werden zum Ausführen des PowerShell-SkriptsAksEdgeQuickStart-v2.ps1
verwendet.$aideuserConfig = @" { "SchemaVersion": "1.1", "Version": "1.0", "AksEdgeProduct": "AKS Edge Essentials - K3s", "AksEdgeProductUrl": "Z:\\AksEdge-Learn.msi", "Azure": { "SubscriptionName": "", "SubscriptionId": "", "TenantId": "", "ResourceGroupName": "", "ServicePrincipalName": "", "Location": "", "CustomLocationOID":"", "Auth":{ "ServicePrincipalId":"", "Password":"" } }, "AksEdgeConfigFile": "aksedge-config.json" } "@ echo $aideuserConfig | Out-File -FilePath "aideuser-config.json" $aksedgeConfig = @" { "SchemaVersion": "1.9", "Version": "1.0", "DeploymentType": "SingleMachineCluster", "Init": { "ServiceIPRangeSize": 10 }, "Network": { "NetworkPlugin": "flannel", "InternetDisabled": false }, "User": { "AcceptEula": true, "AcceptOptionalTelemetry": true }, "Machines": [ { "LinuxNode": { "CpuCount": 2, "MemoryInMB": 2048, "DataSizeInGB": 20 }, "WindowsNode": { "CpuCount": 2, "MemoryInMB": 2048 } } ] } "@ echo $aksedgeConfig | Out-File -FilePath "aksedge-config.json"
Laden Sie das PowerShell-Skript
AksEdgeQuickStart-v2.ps1
herunter, und führen Sie es aus:$url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStart-v2.ps1" Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStart-v2.ps1 Unblock-File .\AksEdgeQuickStart-v2.ps1 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force .\AksEdgeQuickStart-v2.ps1 -AideUserConfigFilePath .\aideuser-config.json -AksEdgeConfigFilePath .\aksedge-config.json
Hinweis
Der Installationsprozess dauert etwa 30 Minuten.
Dieses Skript automatisiert die folgenden Schritte:
- Im VM-Arbeitsordner
C:\aksedgeLearn
lädt das Skript das GitHub-Archiv von Azure/AKS-Edge herunter und entpackt es im Ordner AKS-Edge-main. - Ruft die Funktion
Start-AideWorkflow
auf, die die folgenden Tasks ausführt:- Entpacken der Windows-Installationsdateien
- Installieren der MSI-Datei für AKS Edge Essentials
- Installieren der erforderlichen Hostbetriebssystemfeatures (
Install-AksEdgeHostFeatures
) - Bereitstellen eines K3s-Einzelcomputerclusters mit einem Linux- und Windows-Knoten
Das folgende Beispiel mit den letzten Zeilen der Ausgabe zeigt, dass der Download und die Installation der K3s-Distribution für AKS Edge Essentials erfolgreich waren. Sie können auf die Protokolldatei auch unter
C:\aksedgeLearn\aksedgedlog-yymmdd-hhmm.txt
zugreifen.... [01/04/2024 15:29:34] Waiting for Windows node IP address... [01/04/2024 15:29:34] Testing Windows node control channel... [01/04/2024 15:29:37] ...successfully connected to the Windows node [01/04/2024 15:31:39] Waiting for Windows node to transition to ready state (796 seconds remaining) - Waiting for Kubernetes node (myvm-wedge) to reach condition Ready, time remaining = 796 seconds - Kubernetes node (myvm-wedge) reached condition Ready [01/04/2024 15:31:57] AksEdge - copying Kubeconfig into the host. [01/04/2024 15:32:02] AksEdge - new deployment successfully created. * AksEdge VM deployment successfull. Deployment Successful. Step 4: Connect to Arc >> skipping step 4 Duration: 0 hrs 23 mins 13 seconds
- Im VM-Arbeitsordner
Tipp
Da der Installationsprozess etwa 30 Minuten dauert, können Sie mit der nächsten Lerneinheit fortfahren und später zu dieser zurückkehren.