Rychlý start: Vývoj v Javě na použití Azure Dev prostorů KubernetesQuickstart: Develop with Java on Kubernetes using Azure Dev Spaces

V tomto průvodci se naučíte:In this guide, you will learn how to:

  • Nastavit Azure Dev Spaces se spravovaným clusterem Kubernetes v AzureSet up Azure Dev Spaces with a managed Kubernetes cluster in Azure.
  • Iterativní vývoj kódu v kontejnerech pomocí Visual Studio Code a příkazový řádek.Iteratively develop code in containers using Visual Studio Code and the command line.
  • Ladění kódu v prostoru dev z Visual Studio Code.Debug the code in your dev space from Visual Studio Code.

PožadavkyPrerequisites

Vytvoření clusteru Azure Kubernetes ServiceCreate an Azure Kubernetes Service cluster

Je potřeba vytvořit v clusteru AKS podporované oblasti.You need to create an AKS cluster in a supported region. Následujících příkazů vytvořte skupinu prostředků s názvem MyResourceGroup a cluster AKS volá MyAKS.The below commands create a resource group called MyResourceGroup and an AKS cluster called MyAKS.

az group create --name MyResourceGroup --location eastus
az aks create -g MyResourceGroup -n MyAKS --location eastus --node-count 1 --generate-ssh-keys

Povolit Azure Dev mezery ve vašem clusteru AKSEnable Azure Dev Spaces on your AKS cluster

Použití use-dev-spaces příkazu povolit prostory vývoj ve vašem clusteru AKS a postupujte podle zobrazených výzev.Use the use-dev-spaces command to enable Dev Spaces on your AKS cluster and follow the prompts. Následující příkaz povolí vývoj mezery na MyAKS cluster v MyResourceGroup seskupovat a vytvoří výchozí dev místa.The below command enables Dev Spaces on the MyAKS cluster in the MyResourceGroup group and creates a default dev space.

$ az aks use-dev-spaces -g MyResourceGroup -n MyAKS

'An Azure Dev Spaces Controller' will be created that targets resource 'MyAKS' in resource group 'MyResourceGroup'. Continue? (y/N): y

Creating and selecting Azure Dev Spaces Controller 'MyAKS' in resource group 'MyResourceGroup' that targets resource 'MyAKS' in resource group 'MyResourceGroup'...2m 24s

Select a dev space or Kubernetes namespace to use as a dev space.
 [1] default
Type a number or a new name: 1

Kubernetes namespace 'default' will be configured as a dev space. This will enable Azure Dev Spaces instrumentation for new workloads in the namespace. Continue? (Y/n): Y

Configuring and selecting dev space 'default'...3s

Managed Kubernetes cluster 'MyAKS' in resource group 'MyResourceGroup' is ready for development in dev space 'default'. Type `azds prep` to prepare a source directory for use with Azure Dev Spaces and `azds up` to run.

Získat kód ukázkové aplikaceGet sample application code

V tomto článku budete používat Azure Dev prostory ukázkovou aplikaci demonstruje použití Azure Dev mezery.In this article, you use the Azure Dev Spaces sample application to demonstrate using Azure Dev Spaces.

Klonování aplikace z Githubu a přejděte do dev prostorů/ukázky/java/získávání spustit/webfrontend adresáře:Clone the application from GitHub and navigate into the dev-spaces/samples/java/getting-started/webfrontend directory:

git clone https://github.com/Azure/dev-spaces
cd dev-spaces/samples/java/getting-started/webfrontend

Příprava aplikacePrepare the application

Generovat graf prostředků Dockeru a Helm pro spuštění aplikace v Kubernetes pomocí azds prep příkaz:Generate the Docker and Helm chart assets for running the application in Kubernetes using the azds prep command:

azds prep --public

Je třeba spustit prep příkaz dev prostorů/ukázky/java/získávání spustit/webfrontend adresáře se správně Generovat graf prostředků Dockeru a Helm.You must run the prep command from the dev-spaces/samples/java/getting-started/webfrontend directory to correctly generate the Docker and Helm chart assets.

Sestavení a spuštění kódu v KubernetesBuild and run code in Kubernetes

Sestavte a spusťte váš kód v AKS pomocí azds up příkaz:Build and run your code in AKS using the azds up command:

$ azds up
Using dev space 'default' with target 'MyAKS'
Synchronizing files...3s
Installing Helm chart...8s
Waiting for container image build...28s
Building container image...
Step 1/8 : FROM maven:3.5-jdk-8-slim
Step 2/8 : EXPOSE 8080
Step 3/8 : WORKDIR /usr/src/app
Step 4/8 : COPY pom.xml ./
Step 5/8 : RUN /usr/local/bin/mvn-entrypoint.sh     mvn package -Dmaven.test.skip=true -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true --fail-never
Step 6/8 : COPY . .
Step 7/8 : RUN mvn package -Dmaven.test.skip=true -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true
Step 8/8 : ENTRYPOINT ["java","-jar","target/webfrontend-0.1.0.jar"]
Built container image in 37s
Waiting for container...57s
Service 'webfrontend' port 'http' is available at http://webfrontend.1234567890abcdef1234.eus.azds.io/
Service 'webfrontend' port 80 (http) is available at http://localhost:54256
...

Zobrazí se tato služba spuštěna po otevření veřejnou adresu URL, které se zobrazí ve výstupu azds up příkazu.You can see the service running by opening the public URL, which is displayed in the output from the azds up command. V tomto příkladu je veřejnou adresu URL http://webfrontend.1234567890abcdef1234.eus.azds.io/.In this example, the public URL is http://webfrontend.1234567890abcdef1234.eus.azds.io/.

Chcete-li zrušit azds up příkazu Ctrl + c, služba bude pokračovat ve službě AKS a veřejná adresa URL bude stále dostupný.If you stop the azds up command using Ctrl+c, the service will continue to run in AKS, and the public URL will remain available.

Aktualizace kóduUpdate code

Pokud chcete nasadit aktualizovanou verzi vaší služby, můžete aktualizovat všechny soubory ve vašem projektu a znovu spustit azds up příkazu.To deploy an updated version of your service, you can update any file in your project and rerun the azds up command. Příklad:For example:

  1. Pokud azds up je pořád spuštěný, stiskněte klávesu Ctrl + c.If azds up is still running, press Ctrl+c.

  2. Aktualizace řádek 16 v src/main/java/com/ms/sample/webfrontend/Application.java na:Update line 16 in src/main/java/com/ms/sample/webfrontend/Application.java to:

    return "Hello from webfrontend in Azure!";
    
  3. Uložte provedené změny.Save your changes.

  4. Znovu spustit azds up příkaz:Rerun the azds up command:

    $ azds up
    Using dev space 'default' with target 'MyAKS'
    Synchronizing files...1s
    Installing Helm chart...3s
    Waiting for container image build...
    ...    
    
  5. Přejděte na spuštěnou službu a sledujte změny.Navigate to your running service and observe your changes.

  6. Stisknutím klávesy Ctrl + c Zastavit azds up příkazu.Press Ctrl+c to stop the azds up command.

Povolit Visual Studio Code pro ladění v KubernetesEnable Visual Studio Code to debug in Kubernetes

Otevřít Visual Studio Code, klikněte na tlačítko souboru pak otevřít... , přejděte dev prostorů/ukázky/java/získávání spustit/webfrontend adresář a klikněte na tlačítko otevřít.Open Visual Studio Code, click File then Open..., navigate to the dev-spaces/samples/java/getting-started/webfrontend directory, and click Open.

Teď máte webfrontend projekt otevřít ve Visual Studio Code, který je ve stejné službě jste spustili pomocí azds up příkazu.You now have the webfrontend project open in Visual Studio Code, which is the same service you ran using the azds up command. Chcete-li ladit tuto službu ve službě AKS pomocí Visual Studio Code, na rozdíl od použití azds up přímo, je nutné připravit tento projekt používat Visual Studio Code pro komunikaci s prostorem vývoj.To debug this service in AKS using Visual Studio Code, as opposed to using azds up directly, you need to prepare this project to use Visual Studio Code to communicate with your dev space.

Ve Visual Studio Code otevřete paletu příkazů, klikněte na tlačítko zobrazení pak paletu příkazů.To open the Command Palette in Visual Studio Code, click View then Command Palette. Začněte psát Azure Dev Spaces a klikněte na Azure Dev Spaces: Prepare configuration files for Azure Dev Spaces.Begin typing Azure Dev Spaces and click on Azure Dev Spaces: Prepare configuration files for Azure Dev Spaces.

Příprava Azure Dev prostory konfiguračních souborů

Když Visual Studio Code také zobrazí výzvu ke konfiguraci základní Image a vystavené port, zvolte Azul Zulu OpenJDK for Azure (Free LTS) pro základní image a 8080 vystavené portu.When Visual Studio Code also prompts you to configure your base images and exposed port, choose Azul Zulu OpenJDK for Azure (Free LTS) for the base image and 8080 for the exposed port.

Vyberte základní image

Vyberte vystavené portu

Tento příkaz připraví projektu pro spuštění v Azure Dev prostory přímo z Visual Studio Code.This command prepares your project to run in Azure Dev Spaces directly from Visual Studio Code. Zároveň se vygeneruje .vscode adresáře s laděním konfigurace v kořenovém adresáři vašeho projektu.It also generates a .vscode directory with debugging configuration at the root of your project.

Sestavení a spuštění kódu v Kubernetes ze sady Visual StudioBuild and run code in Kubernetes from Visual Studio

Klikněte na ladění na levé straně a klikněte na ikonu spusťte Program Java (AZDS) v horní části.Click on the Debug icon on the left and click Launch Java Program (AZDS) at the top.

Spusťte Program v jazyce Java

Tento příkaz vytvoří a spustí vaši službu v Azure Dev mezery v režimu ladění.This command builds and runs your service in Azure Dev Spaces in debugging mode. Terminálu v dolní části okna se zobrazí výstup sestavení a adresy URL pro vaši službu s Azure Dev prostory.The Terminal window at the bottom shows the build output and URLs for your service running Azure Dev Spaces. Ladění konzoly zobrazuje výstup protokolu.The Debug Console shows the log output.

Poznámka

Pokud nevidíte žádné příkazy Azure Dev mezery v paletu příkazů, ujistěte se, že jste nainstalovali rozšíření Visual Studio Code pro Azure Dev prostory.If you don't see any Azure Dev Spaces commands in the Command Palette, make sure you have installed the Visual Studio Code extension for Azure Dev Spaces. Ověřte také, můžete otevřít dev prostorů/ukázky/java/získávání spustit/webfrontend ve Visual Studio Code.Also verify you opened the dev-spaces/samples/java/getting-started/webfrontend directory in Visual Studio Code.

Klikněte na tlačítko ladění pak Zastavit ladění zastavit ladicí program.Click Debug then Stop Debugging to stop the debugger.

Nastavení a použití zarážky pro laděníSetting and using breakpoints for debugging

Spusťte svoji službu v režimu ladění spusťte Program Java (AZDS).Start your service in debugging mode using Launch Java Program (AZDS).

Přejděte zpět na Explorer zobrazení kliknutím zobrazení pak Explorer.Navigate back to the Explorer view by clicking View then Explorer. Otevřít src/main/java/com/ms/sample/webfrontend/Application.java a klikněte na tlačítko někam na řádek 16 umístěte kurzor existuje.Open src/main/java/com/ms/sample/webfrontend/Application.java and click somewhere on line 16 to put your cursor there. Chcete-li nastavit zarážku přístupů F9 nebo klikněte na tlačítko ladění pak Přepnout zarážku.To set a breakpoint hit F9 or click Debug then Toggle Breakpoint.

Otevřete svou službu v prohlížeči a Všimněte si, že se nezobrazí žádná zpráva.Open your service in a browser and notice no message is displayed. Vraťte se do Visual Studio Code a podívejte se, že se zvýrazní řádek 16.Return to Visual Studio Code and observe line 16 is highlighted. Nastavit zarážku bylo pozastaveno služby na řádku 16.The breakpoint you set has paused the service at line 16. A to obnovit ji, stiskněte F5 nebo klikněte na tlačítko ladění pak pokračovat.To resume the service, hit F5 or click Debug then Continue. Vraťte se do prohlížeče a Všimněte si, že se teď zobrazí zpráva.Return to your browser and notice the message is now displayed.

Při spuštění služby v Kubernetes s připojen jiný ladicí program, máte plný přístup k ladění informace, jako je zásobník volání, místní proměnné a informace o výjimce.While running your service in Kubernetes with a debugger attached, you have full access to debug information such as the call stack, local variables, and exception information.

Odeberte zarážku vložením kurzor na řádku 16 v src/main/java/com/ms/sample/webfrontend/Application.java a stisknout F9.Remove the breakpoint by putting your cursor on line 16 in src/main/java/com/ms/sample/webfrontend/Application.java and hitting F9.

Aktualizace kódu ze sady Visual Studio CodeUpdate code from Visual Studio Code

Zatímco služba je spuštěna v režimu ladění, aktualizujte řádek 16 v src/main/java/com/ms/sample/webfrontend/Application.java.While the service is running in debugging mode, update line 16 in src/main/java/com/ms/sample/webfrontend/Application.java. Příklad:For example:

return "Hello from webfrontend in Azure while debugging!";

Uložte soubor.Save the file. Klikněte na tlačítko ladění pak restartujte ladění nebo ladění nástrojů, klikněte na tlačítko restartujte ladění tlačítko.Click Debug then Restart Debugging or in the Debug toolbar, click the Restart Debugging button.

Aktualizovat ladění

Otevřete svou službu v prohlížeči a Všimněte si, že se zobrazí aktualizovaná zpráva.Open your service in a browser and notice your updated message is displayed.

Místo znovu sestavovat a nasazovat nové image kontejneru pokaždé, když jsou provedeny změny kódu, Azure Dev prostory postupně se znovu zkompiluje kód v rámci existující kontejner zajistit rychlejší smyčky úpravy a ladění.Instead of rebuilding and redeploying a new container image each time code edits are made, Azure Dev Spaces incrementally recompiles code within the existing container to provide a faster edit/debug loop.

Vyčištění prostředků AzureClean up your Azure resources

az group delete --name MyResourceGroup --yes --no-wait

Další postupNext steps

Zjistěte, jak prostory vývoj Azure vám pomůže vytvořit složitější aplikace napříč více kontejnery, a jak můžete zjednodušit spolupráce na vývoji práce s různými verzemi nebo větve kódu v různých oborech.Learn how Azure Dev Spaces helps you develop more complex applications across multiple containers, and how you can simplify collaborative development by working with different versions or branches of your code in different spaces.