Kurz: Nasazení aplikace v Javě do škálovací sady virtuálních počítačů
Služby Azure DevOps
Škálovací sada virtuálních počítačů umožňuje nasadit a spravovat identické a automatické škálování virtuálních počítačů.
Virtuální počítače se ve škálovací sadě vytvářejí podle potřeby. Definujete pravidla, která určují, jak a kdy se virtuální počítače přidávají nebo odebírají ze škálovací sady. Tato pravidla se můžou aktivovat na základě metrik, jako jsou zatížení procesoru, využití paměti nebo síťový provoz.
V tomto kurzu vytvoříte aplikaci v Javě a nasadíte ji do škálovací sady virtuálních počítačů. Získáte informace pro:
- Vytvoření škálovací sady virtuálních počítačů
- Sestavení image počítače
- Nasazení vlastní image do škálovací sady virtuálních počítačů
Požadavky
Než začnete, potřebujete:
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní organizace Azure DevOps Zaregistrujte se ke službě Azure Pipelines.
- Úloha DevOps v Azure VM Image Builderu nainstalovaná pro vaši organizaci DevOps
- Rozvětvované úložiště GitHub s ukázkovým projektem. Rozvětvujte úložiště pipelines-vmss.
Nastavení kanálu Java
Přihlaste se ke své organizaci Azure DevOps a přejděte do svého projektu.
Přejděte na Kanály a pak vyberte Nový kanál nebo Vytvořit kanál , pokud vytváříte první kanál.
Kroky průvodce proveďte tak, že nejprve vyberete GitHub jako umístění zdrojového kódu.
Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte svoje přihlašovací údaje GitHubu.
Až se zobrazí seznam úložišť, vyberte úložiště.
K instalaci aplikace Azure Pipelines můžete být přesměrováni na GitHub. Pokud ano, vyberte Schválit a nainstalovat.
Po zobrazení karty Konfigurovat vyberte Maven.
Přizpůsobení kanálu
Jakmile se nový kanál zobrazí, podívejte se na YAML a podívejte se, co dělá. Až budete připraveni, vyberte Uložit a spustit.
Zobrazí se výzva k potvrzení nového souboru azure-pipelines.yml do úložiště. Až budete se zprávou spokojeni, vyberte Uložit a spusťte znovu.
Pokud chcete sledovat kanál v akci, vyberte úlohu sestavení.
Právě jste vytvořili a spustili kanál, který jsme pro vás automaticky vytvořili, protože se zdá, že váš kód odpovídá šabloně Maven .
Teď máte v úložišti funkční kanál YAML,
azure-pipelines.yml
který je připravený k přizpůsobení.Až budete chtít kanál změnit, vyberte ho na stránce Pipelines a pak upravte
azure-pipelines.yml
soubor.
Přidání úloh Kopírování souborů a publikování artefaktů sestavení
Aktualizujte kanál tak, aby zahrnoval
CopyFiles@2
úlohu. Tím se vytvoří artefakt, který můžete nasadit do škálovací sady virtuálních počítačů.trigger: none pool: vmImage: 'ubuntu-latest' steps: - task: Maven@4 inputs: mavenPomFile: 'pom.xml' mavenOptions: '-Xmx3072m' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' publishJUnitResults: true testResultsFiles: '**/surefire-reports/TEST-*.xml' goals: 'package' - task: CopyFiles@2 displayName: 'Copy File to: $(TargetFolder)' inputs: SourceFolder: '$(Build.SourcesDirectory)' Contents: | **/*.sh **/*.war **/*jar-with-dependencies.jar TargetFolder: '$(System.DefaultWorkingDirectory)/pipeline-artifacts/' flattenFolders: true
Vytvoření vlastní image a jeho nahrání do Azure
Pro vlastní image budete potřebovat skupinu prostředků, účet úložiště a galerii sdílených imagí.
Vytvořte skupinu prostředků pomocí příkazu az group create. Tento příklad vytvoří skupinu prostředků myVMSSResourceGroup v umístění eastus2 :
az group create --name myVMSSResourceGroup --location eastus2
Vytvořte nový účet úložiště. Tento příklad vytvoří účet
vmssstorageaccount
úložiště .az storage account create \ --name vmssstorageaccount \ --resource-group myVMSSResourceGroup \ --location eastus2 \ --sku Standard_LRS
Vytvořte galerii sdílených imagí.
az sig create --resource-group myVMSSResourceGroup --gallery-name myVMSSGallery
Vytvořte v prostředku novou galerii
myVMSSGallery
imagí. Další informace o práci s galeriemi imagí najdete v tématu Vytvoření sdílené galerie imagí Azure pomocí portálu .az sig create --resource-group myVMSSResourceGroup --gallery-name myVMSSGallery
Vytvořte definici obrázku.
id
Zkopírujte nový obrázek, který vypadá takto/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage
.az sig image-definition create -g myVMSSResourceGroup --gallery-name myVMSSGallery --gallery-image-definition MyImage --publisher GreatPublisher --offer GreatOffer --sku GreatSku --os-type linux
Vytvoření spravované identity
Vytvořte spravovanou identitu ve skupině prostředků.
az identity create -g myVMSSResourceGroup -n myVMSSIdentity
Z výstupu zkopírujte .
id
Budeid
vypadat jako/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>
.Otevřete galerii obrázků v galerii a přiřaďte
myVMSSIdentity
roli Přispěvatel. Přiřazení role přidáte podle těchto kroků.
Vytvoření vlastní image
Pokud chcete vytvořit vlastní image, můžete použít úlohu DevOps pro Azure VM Image Builder.
Přidejte úkol
AzureImageBuilderTask@1
do souboru YAML. Nahraďte hodnoty pro<SUBSCRIPTION ID>
,<RESOURCE GROUP>
<USER ASSIGNED IDENTITY NAME>
vlastním. Ujistěte se, žegalleryImageId
managedIdentity
jsou hodnoty a hodnotystorageAccountName
přesné.- task: AzureImageBuilderTask@1 displayName: 'Azure VM Image Builder Task' inputs: managedIdentity: '/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>' imageSource: 'marketplace' packagePath: '$(System.DefaultWorkingDirectory)/pipeline-artifacts' inlineScript: | sudo mkdir /lib/buildArtifacts sudo cp "/tmp/pipeline-artifacts.tar.gz" /lib/buildArtifacts/. cd /lib/buildArtifacts/. sudo tar -zxvf pipeline-artifacts.tar.gz sudo sh install.sh storageAccountName: 'vmssstorageaccount2' distributeType: 'sig' galleryImageId: '/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage/versions/0.0.$(Build.BuildId)' replicationRegions: 'eastus2' ibSubscription: '<SUBSCRIPTION ID>' ibAzureResourceGroup: 'myVMSSResourceGroup' ibLocation: 'eastus2'
Spuštěním kanálu vygenerujte první image. Možná budete muset autorizovat prostředky během spuštění kanálu.
Přejděte na novou image na webu Azure Portal a otevřete Přehled. Výběrem možnosti Vytvořit VMSS vytvořte novou škálovací sadu virtuálních počítačů z nové image. Nastavte název škálovací sady virtuálních počítačů na
vmssScaleSet
hodnotu . Další informace o vytváření škálovacích sad virtuálních počítačů na webu Azure Portal najdete v tématu Vytvoření škálovací sady virtuálních počítačů na webu Azure Portal.
Nasazení aktualizací do škálovací sady virtuálních počítačů
Přidejte do kanálu úlohu Azure CLI, která nasadí aktualizace do škálovací sady. Přidejte úkol na konec kanálu. Nahraďte <SUBSCRIPTION ID>
ID předplatného.
- task: AzureCLI@2
inputs:
azureSubscription: '`YOUR_SUBSCRIPTION_ID`' #Authorize and in the task editor
ScriptType: 'pscore'
scriptLocation: 'inlineScript'
Inline: 'az vmss update --resource-group myVMSSResourceGroup --name vmssScaleSet --set virtualMachineProfile.storageProfile.imageReference.id=/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myVMSSResourceGroup/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage/versions/0.0.$(Build.BuildId)'
Vyčištění prostředků
Přejděte na web Azure Portal a odstraňte skupinu myVMSSResourceGroup
prostředků.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro