Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service waarmee u snel clusters kunt implementeren en beheren. In deze quickstart leert u het volgende:
- Download en installeer de Azure Developer CLI (
azd). - Toepassingen klonen vanuit een Azure Developer CLI-sjabloon (
azdsjabloon). - Een AKS-cluster implementeren met behulp van de Azure Developer CLI (
azd). - Voer een voorbeeldtoepassing met meerdere containers uit met een groep microservices die een retail-app simuleert.
- Containers verwijderen en opschonen die zijn gemaakt van de
azdsjabloon.
Opmerking
Om snel aan de slag te gaan met het snel inrichten van een AKS-cluster, bevat dit artikel stappen voor het implementeren van een cluster met alleen standaardinstellingen voor evaluatiedoeleinden. Voordat u een cluster implementeert dat gereed is voor productie, raden we u aan vertrouwd te raken met de referentiearchitectuur van de basislijn om na te gaan hoe dit overeenkomt met uw bedrijfsvereisten.
Voordat u begint
In deze snelstart wordt ervan uitgegaan dat u een basisbegrip hebt van Kubernetes-concepten. Zie Kubernetes-kernconcepten voor Azure Kubernetes Service (AKS) voor meer informatie.
-
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Voor gebruiksgemak voert u dit voorbeeld uit op Bash of PowerShell in Azure Cloud Shell. Zie Quickstart voor Azure Cloud Shell voor meer informatie.
Als u lokaal wilt gebruiken
azd, installeert u versie 1.6.1 of hoger van de Azure Developer CLI.- Als u de Azure Cloud Shell gebruikt, is
azdal in de nieuwste versie geïnstalleerd.
- Als u de Azure Cloud Shell gebruikt, is
Toepassingscode beoordelen
U kunt de toepassingscode bekijken in de GitHub-opslagplaats Azure-Samples/aks-store-demo.
De quickstart-toepassing bevat de volgende Kubernetes-implementaties en -services:
- Webwinkel: Webtoepassing voor klanten om producten te bekijken en bestellingen te plaatsen.
- Productservice: toont productgegevens.
- Orderservice: Orders plaatsen.
- Rabbit MQ: Berichtensysteem voor een bestelwachtrij.
Opmerking
We raden u niet aan stateful containers uit te voeren, zoals Rabbit MQ, zonder permanente opslag voor productiegebruik. Deze worden hier gebruikt om het eenvoudig te maken, maar we raden u aan beheerde services te gebruiken, zoals Azure Cosmos DB of Azure Service Bus.
De Azure Developer CLI-sjabloon klonen
Kloon de AKS store demo-sjabloon uit de Azure-Samples opslagplaats met behulp van de
azd initopdracht met de--templateparameter.azd init --template Azure-Samples/aks-store-demoVoer een omgevingsnaam in voor uw project die alleen alfanumerieke tekens en afbreekstreepjes gebruikt, zoals aks-azdqs-1.
Enter a new environment name: aks-azdqs-1
Aanmelden bij uw Azure Cloud-account
De azd sjabloon bevat alle code die nodig is om de services te maken, maar u moet zich aanmelden bij uw Azure-account om de toepassing op AKS te hosten.
Meld u aan bij uw account met behulp van de
azd auth loginopdracht.azd auth loginKopieer de apparaatcode die wordt weergegeven in de uitvoer en druk op Enter om u aan te melden.
Start by copying the next code: XXXXXXXXX Then press enter and continue to log in from your browser...Belangrijk
Als u een buiten-netwerk-VM of GitHub Codespace gebruikt, veroorzaken bepaalde Azure-beveiligingsbeleidsregels conflicten wanneer ze worden gebruikt om u aan te melden.
azd auth loginAls u hier een probleem krijgt, kunt u de onderstaande tijdelijke oplossing voor azd-verificatie volgen. Hierbij wordt eencurlaanvraag gebruikt voor de localhost-URL waarnaar u bent omgeleid nadat u [azd auth login][az-auth-login] hebt uitgevoerd.Authenticeer met uw inloggegevens op de aanmeldingspagina van uw organisatie.
Controleer of u verbinding probeert te maken vanuit de Azure CLI.
Controleer het bericht 'Verificatie van apparaatcode voltooid. Aangemeld bij Azure." wordt weergegeven in de oorspronkelijke terminal.
Waiting for you to complete authentication in the browser... Device code authentication completed. Logged in to Azure.
tijdelijke oplossing voor azd-authenticatie
Voor deze tijdelijke oplossing moet de Azure CLI zijn geïnstalleerd.
Open een terminalvenster en meld u aan bij de Azure CLI door de
az loginopdracht te gebruiken waarbij de--scopeparameter is ingesteld ophttps://graph.microsoft.com/.default.az login --scope https://graph.microsoft.com/.defaultU wordt omgeleid naar een verificatiepagina op een nieuw tabblad om een browsertoegangstoken te maken, zoals wordt weergegeven in het volgende voorbeeld:
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?clientid=<your_client_id>.Kopieer de localhost-URL van de webpagina die u hebt ontvangen nadat u zich hebt aangemeld.
azd auth loginGebruik in een nieuw terminalvenster de volgende
curlaanvraag om u aan te melden. Zorg ervoor dat u de<localhost>tijdelijke aanduiding vervangt door de localhost-URL die u in de vorige stap hebt gekopieerd.curl <localhost>Een geslaagde aanmelding voert een HTML-webpagina uit, zoals wordt weergegeven in het volgende voorbeeld:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="refresh" content="60;url=https://docs.microsoft.com/cli/azure/"> <title>Login successfully</title> <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } code { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; display: inline-block; background-color: rgb(242, 242, 242); padding: 12px 16px; margin: 8px 0px; } </style> </head> <body> <h3>You have logged into Microsoft Azure!</h3> <p>You can close this window, or we will redirect you to the <a href="https://docs.microsoft.com/cli/azure/">Azure CLI documentation</a> in 1 minute.</p> <h3>Announcements</h3> <p>[Windows only] Azure CLI is collecting feedback on using the <a href="https://learn.microsoft.com/windows/uwp/security/web-account-manager">Web Account Manager</a> (WAM) broker for the login experience.</p> <p>You may opt-in to use WAM by running the following commands:</p> <code> az config set core.allow_broker=true<br> az account clear<br> az login </code> </body> </html>Sluit de huidige terminal en open de oorspronkelijke terminal. U ziet nu een JSON-lijst met uw abonnementen.
Kopieer het
idveld van het abonnement dat u wilt gebruiken.Stel uw abonnement in met behulp van de
az account setopdracht.az account set --subscription <subscription_id>
Resources voor uw cluster maken en implementeren
azd voert alle hooks in de azd-hooks map uit om de toepassingsservices vooraf te registreren, in te richten en te implementeren.
Met azd de sjabloon voor deze quickstart maakt u een nieuwe resourcegroep met een AKS-cluster en een Azure-sleutelkluis. De sleutelkluis slaat clientgeheimen op en voert de services uit in de pets naamruimte
Maak alle toepassingsbronnen met behulp van de
azd upopdracht.azd upSelecteer een Azure-abonnement voor uw factureringsgebruik.
? Select an Azure Subscription to use: [Use arrows to move, type to filter] > 1. My Azure Subscription (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)Selecteer een regio waar u uw toepassing wilt implementeren.
Select an Azure location to use: [Use arrows to move, type to filter] 1. (South America) Brazil Southeast (brazilsoutheast) 2. (US) Central US (centralus) 3. (US) East US (eastus) > 43. (US) East US 2 (eastus2) 4. (US) East US STG (eastusstg) 5. (US) North Central US (northcentralus) 6. (US) South Central US (southcentralus)azdvoert automatisch de opdrachten voor vooraf inrichten en na-inrichting uit om de resources voor uw applicatie te maken. Dit proces kan enkele minuten duren. Als u klaar bent, ziet u een uitvoer die lijkt op het volgende voorbeeld:SUCCESS: Your workflow to provision and deploy to Azure completed in 9 minutes 40 seconds.
De toepassing testen
Wanneer de toepassing wordt uitgevoerd, maakt een Kubernetes-service de front-end van de toepassing beschikbaar op internet. Dit proces kan enkele minuten duren. Als u een Kubernetes-cluster wilt beheren, gebruikt u de Kubernetes-opdrachtregelclient kubectl.
kubectl is al geïnstalleerd tijdens azd up.
Stel uw naamruimte in als de demonaamruimte
petsmet behulp van dekubectl set-contextopdracht.kubectl config set-context --current --namespace=petsControleer de status van de geïmplementeerde pods met behulp van de
kubectl get podsopdracht. Zorg ervoor dat alle pods gereed zijnRunningvoordat u doorgaat.kubectl get podsControleer op een openbaar IP-adres voor de store-front-toepassing en controleer de voortgang met behulp van de
kubectl get serviceopdracht met het--watchargument.kubectl get service store-front --watchDe uitvoer van het externe IP-adres voor de
store-frontservice wordt in eerste instantie weergegeven als in afwachting:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 <pending> 80:30025/TCP 4h4mZodra het EXTERNAL-IP-adres van in behandeling is gewijzigd in een daadwerkelijk openbaar IP-adres, gebruikt u
CTRL-Com hetkubectlwaakproces te stoppen.In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat is toegewezen aan de service:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 20.62.159.19 80:30025/TCP 4h5mOpen een webbrowser naar het externe IP-adres van uw service om de Azure Store-app in actie te zien.
Het cluster verwijderen
Zodra u klaar bent met de quickstart, schoont u overbodige resources op om Azure-kosten te voorkomen.
Verwijder alle resources die u in de quickstart hebt gemaakt met behulp van de
azd downopdracht.azd downBevestig uw beslissing om alle gebruikte resources uit uw abonnement te verwijderen door te typen
yen op te drukkenEnter.? Total resources to delete: 14, are you sure you want to continue? (y/N)Leegmaken toestaan om de quickstart-variabelen opnieuw te gebruiken, indien van toepassing door te typen
yen op te drukkenEnter.[Warning]: These resources have soft delete enabled allowing them to be recovered for a period or time after deletion. During this period, their names may not be reused. In the future, you can use the argument --purge to skip this confirmation. ? Would you like to permanently delete these resources instead, allowing their names to be reused? (y/N)Zodra de resources zijn verwijderd, ziet u een uitvoer die vergelijkbaar is met het volgende voorbeeld:
SUCCESS: Your application was removed from Azure in 14 minutes 30 seconds.
Opmerking
Deze voorbeeldtoepassing is bedoeld voor demodoeleinden en vertegenwoordigt niet alle aanbevolen procedures voor Kubernetes-toepassingen. Zie de richtlijnen voor AKS-oplossingen voor meer informatie over het maken van volledige oplossingen met AKS voor productie.
Volgende stappen
In deze quickstart hebt u een Kubernetes-cluster geïmplementeerd en vervolgens een eenvoudige toepassing met meerdere containers erop geïmplementeerd. Deze voorbeeldtoepassing is alleen bedoeld voor demodoeleinden en vertegenwoordigt niet alle aanbevolen procedures voor Kubernetes-toepassingen. Zie de richtlijnen voor AKS-oplossingen voor meer informatie over het maken van volledige oplossingen met AKS voor productie.
Als u meer wilt weten over AKS en een volledig voorbeeld van code-naar-implementatie wilt doorlopen, gaat u verder met de zelfstudie over het Kubernetes-cluster.