Delen via


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.

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:

Diagram met de Azure Store-voorbeeldarchitectuur.

  • 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

  1. 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
    
  2. 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.

  1. Meld u aan bij uw account met behulp van de azd auth login opdracht.

    azd auth login
    
  2. 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 een curl aanvraag gebruikt voor de localhost-URL waarnaar u bent omgeleid nadat u [azd auth login][az-auth-login] hebt uitgevoerd.

  3. Verifieer met uw referenties op de aanmeldingspagina van uw organisatie.

  4. Controleer of u verbinding probeert te maken vanuit de Azure CLI.

  5. 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.

  1. Open een terminalvenster en meld u aan met de Azure CLI met behulp van de az login opdracht waarop de --scope parameter is ingesteld https://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>.
    
  2. Kopieer de localhost-URL van de webpagina die u hebt ontvangen nadat u zich hebt aangemeld.azd auth login

  3. 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>
    
  4. Sluit de huidige terminal en open de oorspronkelijke terminal. U ziet nu een JSON-lijst met uw abonnementen.

  5. Kopieer het id veld van het abonnement dat u wilt gebruiken.

  6. 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

  1. Maak alle toepassingsbronnen met behulp van de azd up opdracht.

    azd up
    
  2. 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)
    
  3. 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.

  1. Stel uw naamruimte in als de demonaamruimte pets met behulp van de kubectl set-context opdracht.

    kubectl config set-context --current --namespace=pets
    
  2. Controleer de status van de geïmplementeerde pods met behulp van de kubectl get pods opdracht. Zorg ervoor dat alle pods zijn Running voordat u doorgaat.

    kubectl get pods
    
  3. 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
    
  4. Zodra het EXTERNAL-IP-adres is gewijzigd in een daadwerkelijk openbaar IP-adres, gebruikt CTRL-C u dit om het kubectl 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
    
  5. Open een webbrowser naar het externe IP-adres van uw service om de Azure Store-app in actie te zien.

    Schermopname van de AKS Store-voorbeeldtoepassing.

Het cluster verwijderen

Zodra u klaar bent met de quickstart, schoont u overbodige resources op om Azure-kosten te voorkomen.

  1. Verwijder alle resources die u in de quickstart hebt gemaakt met behulp van de azd down opdracht.

    azd down
    
  2. Bevestig uw beslissing om alle gebruikte resources uit uw abonnement te verwijderen door te typen y en op te drukken Enter.

    ? Total resources to delete: 14, are you sure you want to continue? (y/N)
    
  3. Leegmaken toestaan om de quickstart-variabelen opnieuw te gebruiken, indien van toepassing door te typen y en op te drukken Enter.

    [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.