Delen via


Quickstart: Een Azure Linux-containerhost voor AKS-cluster implementeren met behulp van de Azure CLI

Ga aan de slag met de Azure Linux-containerhost met behulp van de Azure CLI om een Azure Linux-containerhost voor AKS-cluster te implementeren. Nadat u de vereisten hebt geïnstalleerd, maakt u een resourcegroep, maakt u een AKS-cluster, maakt u verbinding met het cluster en voert u een voorbeeldtoepassing met meerdere containers uit in het cluster.

Vereisten

Een brongroep maken

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd. Wanneer u een resourcegroep maakt, moet u een locatie opgeven. Deze locatie is:

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

Volg deze stap om een resourcegroep met de naam testAzureLinuxResourceGroup te maken in de regio Eastus :

Maak een resourcegroep met behulp van de az group create opdracht.

az group create --name testAzureLinuxReourceGroup --location eastus

De volgende uitvoer lijkt erop dat uw resourcegroep is gemaakt:

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

Notitie

In het bovenstaande voorbeeld worden eastus gebruikt, maar Azure Linux Container Host-clusters zijn beschikbaar in alle regio's.

Een Azure Linux Container Host-cluster maken

Maak een AKS-cluster met behulp van de az aks create opdracht met de --os-sku parameter om het AKS-cluster in te richten met een Azure Linux-installatiekopieën. In het volgende voorbeeld wordt een Azure Linux-cluster gemaakt met de naam testAzureLinuxCluster met één knooppunt:

az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux

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

Verbinding maken met het cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u de Kubernetes-opdrachtregelclient kubectl.

  1. Configureer kubectl deze om verbinding te maken met uw Kubernetes-cluster met behulp van de az aks get-credentials opdracht.
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
  1. Controleer de verbinding met uw cluster met behulp van de opdracht kubectl get . De opdracht retourneert een lijst met de pods.
  kubectl get pods --all-namespaces

De toepassing implementeren

Een Kubernetes-manifestbestand definieert de gewenste status van een cluster, zoals welke containerinstallatiekopieën 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 en kopieer dit in het volgende manifest.

    • Als u Azure Cloud Shell gebruikt, kan dit bestand worden gemaakt met behulp van code, viof nano alsof u aan een virtueel of fysiek systeem werkt.
    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
    

    Zie Implementaties en YAML-manifestmanifesten voor een uitsplitsing van YAML-manifestbestanden.

  2. Implementeer de toepassing met de opdracht kubectl apply en geef de naam op van uw YAML-manifest:

    kubectl apply -f azure-vote.yaml
    

    Het volgende voorbeeld lijkt op uitvoer met 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 --watch argument.

kubectl get service azure-vote-front --watch

De UITVOER VAN HET EXTERNE IP-adres voor de azure-vote-front service wordt in eerste instantie weergegeven als in behandeling.

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

Schermopname van bladeren naar azure Vote-voorbeeldtoepassing.

Het cluster verwijderen

Als u niet doorgaat met de volgende zelfstudies, om te voorkomen dat Azure-kosten onnodige resources opschonen. Gebruik de az group delete opdracht om de resourcegroep en alle gerelateerde resources te verwijderen.

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

Volgende stappen

In deze quickstart hebt u een Azure Linux Container Host-cluster geïmplementeerd. Als u meer wilt weten over de Azure Linux Container Host en een volledig voorbeeld van clusterimplementatie en -beheer doorloopt, gaat u verder met de zelfstudie over Azure Linux Container Host.