Quickstart: Een AKS-cluster (Azure Kubernetes Service) implementeren met behulp van de Azure Developer CLI
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 (
azd
sjabloon). - 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
azd
sjabloon.
Notitie
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-abonnement hebt, kunt u een gratis Azure-account maken 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 de nieuwste versie al
azd
geïnstalleerd.
- Als u De Azure Cloud Shell gebruikt, is de nieuwste versie al
Toepassingscode controleren
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: Berichtenwachtrij voor een orderwachtrij.
Notitie
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 demosjabloon voor het AKS-archief uit de opslagplaats Azure-Samples met behulp van de
azd init
opdracht met de--template
parameter.azd init --template Azure-Samples/aks-store-demo
Voer 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 login
opdracht.azd auth login
Kopieer 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 login
Als u hier een probleem krijgt, kunt u de onderstaande tijdelijke oplossing voor azd-verificatie volgen. Hierbij wordt eencurl
aanvraag gebruikt voor de localhost-URL waarnaar u bent omgeleid nadat u [azd auth login
][az-auth-login] hebt uitgevoerd.Verifieer met uw referenties 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 azd auth
Voor deze tijdelijke oplossing moet de Azure CLI zijn geïnstalleerd.
Open een terminalvenster en meld u aan met de Azure CLI met behulp van de
az login
opdracht waarop de--scope
parameter is ingesteldhttps://graph.microsoft.com/.default
.az login --scope https://graph.microsoft.com/.default
U 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 login
Gebruik in een nieuw terminalvenster de volgende
curl
aanvraag 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
id
veld van het abonnement dat u wilt gebruiken.Stel uw abonnement in met behulp van de
az account set
opdracht.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 up
opdracht.azd up
Selecteer 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)
azd
voert automatisch de opdrachten voor vooraf inrichten en opnieuw inrichten uit om de resources voor uw toepassing 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
pets
met behulp van dekubectl set-context
opdracht.kubectl config set-context --current --namespace=pets
Controleer de status van de geïmplementeerde pods met behulp van de
kubectl get pods
opdracht. Zorg ervoor dat alle pods zijnRunning
voordat u doorgaat.kubectl get pods
Controleer op een openbaar IP-adres voor de store-front-toepassing en controleer de voortgang met behulp van de
kubectl get service
opdracht met het--watch
argument.kubectl get service store-front --watch
De UITVOER VAN HET EXTERNE IP-adres voor de
store-front
service wordt in eerste instantie weergegeven als in behandeling:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 <pending> 80:30025/TCP 4h4m
Zodra het EXTERNAL-IP-adres is gewijzigd in een daadwerkelijk openbaar IP-adres, gebruikt
CTRL-C
u dit om hetkubectl
controleproces 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 4h5m
Open 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 down
opdracht.azd down
Bevestig uw beslissing om alle gebruikte resources uit uw abonnement te verwijderen door te typen
y
en 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
y
en 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.
Notitie
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.
Azure Kubernetes Service