Quickstart: Implementeer een Azure Kubernetes Service-cluster met behulp van de Azure CLI.

Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service waarmee u snel clusters kunt implementeren en beheren. In deze quickstart gaat u het volgende doen:

  • Implementeer een AKS-cluster met behulp van de Azure CLI.

  • Voer een toepassing met meerdere containers uit met een webfront-end en een Redis-exemplaar in het cluster.

  • Controleer de status van het cluster en de pods die uw toepassing uitvoeren.

    Stem-app is geïmplementeerd in Azure Kubernetes Service

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, maakt u een gratis account voordat u begint.

Zie Een AKS-cluster maken dat ondersteuning biedt voor Windows Server-containers voor meer informatie over het maken van een Windows Server-knooppuntgroep.

Vereisten

  • Gebruik de bash-omgeving in Azure Cloud shell.

    Cloud Shell starten in een nieuw venster

  • Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren.

    • Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht AZ login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij de Azure CLI voor aanvullende aanmeldingsopties.

    • Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.

    • Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.

  • Voor dit artikel is versie 2.0.64 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
  • De identiteit die u gebruikt om uw cluster te maken, heeft de juiste minimale machtigingen. Zie Access and identity options for Azure Kubernetes Service (AKS)(Toegangs- en identiteitsopties voor AKS) voor meer informatie over toegang en identiteit voor AKS.

Notitie

Voer de opdrachten uit als beheerder als u van plan bent om de opdrachten in deze quickstart lokaal uit te voeren in plaats van in Azure Cloud Shell.

Een resourcegroep maken

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven. Deze locatie is:

  • De opslaglocatie van de metagegevens van uw resourcegroep.
  • Waar uw resources worden uitgevoerd in Azure als u geen andere regio opgeeft tijdens het maken van de resource.

In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie VS - oost.

Maak een resourcegroep met de opdracht az group create.

az group create --name myResourceGroup --location eastus

Uitvoer voor de resourcegroep die is gemaakt:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Clusterbewaking inschakelen

Controleer of Microsoft.OperationsManagement en Microsoft.OperationalInsights zijn geregistreerd in uw abonnement. De registratiestatus controleren:

az provider show -n Microsoft.OperationsManagement -o table
az provider show -n Microsoft.OperationalInsights -o table

Als ze niet zijn geregistreerd, registreert u Microsoft.OperationsManagement en Microsoft.OperationalInsights met behulp van:

az provider register --namespace Microsoft.OperationsManagement
az provider register --namespace Microsoft.OperationalInsights

AKS-cluster maken

Maak een AKS-cluster met behulp van de opdracht az aks create met de parameter --enable-addons monitoring om de Azure Monitor voor containers in te stellen. In het volgende voorbeeld wordt een cluster met de naam myAKSCluster gemaakt met één knooppunt:

az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys

Na enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling.

Notitie

Wanneer u een AKS-cluster maakt, wordt automatisch een tweede resourcegroep gemaakt om de AKS-resources op te slaan. Zie voor meer informatie Waarom worden er twee resourcegroepen gemaakt met AKS?

Verbinding maken met het cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u de Kubernetes-opdrachtregelclient, kubectl. kubectl is al geïnstalleerd als u Azure Cloud Shell.

  1. Installeer kubectl lokaal met behulp van de opdracht az aks install-cli:

    az aks install-cli
    
  2. Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van de opdracht az aks get-credentials. De volgende opdracht:

    • Hiermee downloadt u referenties en configureert u de Kubernetes CLI om deze te gebruiken.
    • Gebruikt ~/.kube/config , de standaardlocatie voor het Kubernetes-configuratiebestand. Geef een andere locatie voor uw Kubernetes-configuratiebestand op met --file.
    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Controleer de verbinding met uw cluster met behulp van de opdracht kubectl get. Met deze opdracht wordt een lijst met de clusterknooppunten weergegeven.

    kubectl get nodes
    

    Uitvoer toont het enkele knooppunt dat in de vorige stappen is gemaakt. Zorg ervoor dat de status van het knooppunt Gereed is:

    NAME                       STATUS   ROLES   AGE     VERSION
    aks-nodepool1-31718369-0   Ready    agent   6m44s   v1.12.8
    

De toepassing uitvoeren

Een Kubernetes-manifestbestand definieert de gewenste status van een cluster, zoals welke containerafbeeldingen moeten worden uitgevoerd.

In deze quickstart gebruikt u een manifest om alle objecten te maken die nodig zijn om de Azure Vote-toepassing uit te voeren. Dit manifest bevat twee Kubernetes-implementaties:

  • De Azure Vote Python-voorbeeldtoepassingen.
  • Een Redis-exemplaar.

Er worden ook twee Kubernetes-services gemaakt:

  • Een interne service voor het Redis-exemplaar.
  • Een externe service voor toegang tot de Azure Vote-toepassing vanaf internet.
  1. Maak een bestand met de naam azure-vote.yaml.

    • Als u de Azure Cloud Shell, kan dit bestand worden gemaakt met behulp van , of alsof het code werkt op een virtueel of fysiek vi nano systeem
  2. Kopieer de volgende YAML-definitie:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: azure-vote-back
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: azure-vote-back
      template:
        metadata:
          labels:
            app: azure-vote-back
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-back
            image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
            env:
            - name: ALLOW_EMPTY_PASSWORD
              value: "yes"
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            ports:
            - containerPort: 6379
              name: redis
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: azure-vote-back
    spec:
      ports:
      - port: 6379
      selector:
        app: azure-vote-back
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: azure-vote-front
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: azure-vote-front
      template:
        metadata:
          labels:
            app: azure-vote-front
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-front
            image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            ports:
            - containerPort: 80
            env:
            - name: REDIS
              value: "azure-vote-back"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: azure-vote-front
    spec:
      type: LoadBalancer
      ports:
      - port: 80
      selector:
        app: azure-vote-front
    
  3. Implementeer de toepassing met de opdracht kubectl apply en geef de naam op van uw YAML-manifest:

    kubectl apply -f azure-vote.yaml
    

    Uitvoer toont de gemaakte implementaties en services:

    deployment "azure-vote-back" created
    service "azure-vote-back" created
    deployment "azure-vote-front" created
    service "azure-vote-front" created
    

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.

Controleer de voortgang met behulp van de opdracht kubectl get service met het argument --watch .

kubectl get service azure-vote-front --watch

De external-IP-uitvoer voor de azure-vote-front service wordt in eerste instantie als in behandeling weer geven.

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s

Zodra het EXTERNAL-IP-adres is gewijzigd van in behandeling in een echt openbaar IP-adres, gebruikt u CTRL-C om het kubectl watch-proces te stoppen. In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat aan de service is toegewezen:

azure-vote-front   LoadBalancer   10.0.37.27   52.179.23.131   80:30572/TCP   2m

Open een webbrowser naar het externe IP-adres van uw service om de Azure Vote-app te zien.

Stem-app is geïmplementeerd in Azure Kubernetes Service

Bekijk de metrische statusgegevens van de clusterknooppunten en pods die zijn vastgelegd door Azure Monitor voor containers in de Azure Portal.

Het cluster verwijderen

Schoon uw overbodige resources op om Azure-kosten te voorkomen. Gebruik de opdracht az group delete om de resourcegroep, de containerservice en alle gerelateerde resources te verwijderen.

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

Notitie

Wanneer u het cluster verwijdert, wordt de Azure Active Directory-service-principal die door het AKS-cluster wordt gebruikt niet verwijderd. Zie Overwegingen voor en verwijdering van AKS service-principal voor stappen voor het verwijderen van de service-principal.

Als u een beheerde identiteit hebt gebruikt, wordt de identiteit beheerd door het platform en hoeft deze niet te worden verwijderd.

Code ophalen

In deze quickstart zijn al bestaande containerafbeeldingen gebruikt om een Kubernetes-implementatie te maken. De gerelateerde toepassingscode, Dockerfile en het Kubernetes-manifestbestand zijn beschikbaar op GitHub.

Volgende stappen

In deze quickstart hebt u een Kubernetes-cluster geïmplementeerd en vervolgens een toepassing met meerdere containers geïmplementeerd. Toegang tot het Kubernetes-webdashboard voor uw AKS-cluster.

Voor meer informatie over AKS en een volledig stapsgewijs voorbeeld van code tot implementatie gaat u naar de zelfstudie over Kubernetes-clusters.