Zelfstudie: Een toepassing implementeren in Azure Kubernetes Service (AKS)
Kubernetes biedt een gedistribueerd platform voor toepassingen in containers. U bouwt en implementeert uw eigen toepassingen en services in een Kubernetes-cluster en laat het cluster de beschikbaarheid en connectiviteit beheren.
In deze zelfstudie implementeert u deel vier van zeven een voorbeeldtoepassing in een Kubernetes-cluster. U leert het volgende:
- Werk een Kubernetes-manifestbestand bij.
- Voer een toepassing uit in Kubernetes.
- Test de toepassing.
Tip
Met AKS kunt u de volgende benaderingen voor configuratiebeheer gebruiken:
GitOps: hiermee worden declaraties van de status van uw cluster automatisch toegepast op het cluster. Zie de vereisten voor Azure Kubernetes Service-clusters in de zelfstudie GitOps met Flux v2 voor meer informatie over het gebruik van GitOps voor het implementeren van een toepassing met een AKS-cluster.
DevOps: Hiermee kunt u bouwen, testen en implementeren met CI (continue integratie) en continue levering (CD). Zie Bouwen en implementeren in AKS met Azure Pipelines of GitHub Actions voor implementatie in Kubernetes voor voorbeelden van het gebruik van DevOps voor het implementeren van een toepassing met een AKS-cluster.
Voordat u begint
In eerdere zelfstudies hebt u een toepassing verpakt in een containerinstallatiekopieën, de installatiekopieën geüpload naar Azure Container Registry en een Kubernetes-cluster gemaakt. U hebt het vooraf gemaakte aks-store-quickstart.yaml
Kubernetes-manifestbestand nodig om deze zelfstudie te voltooien. Dit bestand is gedownload in de broncode van de toepassing uit zelfstudie 1: De toepassing voorbereiden voor AKS.
Voor deze zelfstudie is Azure CLI versie 2.0.53 of hoger vereist. Controleer uw versie met az --version
. Zie Azure CLI installeren als u CLI wilt installeren of upgraden.
Het manifestbestand bijwerken
In deze zelfstudies slaat uw Azure Container Registry-exemplaar (ACR) de containerinstallatiekopieën voor de voorbeeldtoepassing op. Als u de toepassing wilt implementeren, moet u de namen van de installatiekopieën in het Kubernetes-manifestbestand bijwerken om de naam van uw ACR-aanmeldingsserver op te nemen.
Haal het adres van uw aanmeldingsserver op met behulp van de
az acr list
opdracht en voer een query uit voor uw aanmeldingsserver.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Zorg ervoor dat u zich in de gekloonde map aks-store-demo bevindt en open vervolgens het
aks-store-quickstart.yaml
manifestbestand met een teksteditor.Werk de
image
eigenschap voor de containers bij door ghcr.io/azure-samples te vervangen door de naam van de ACR-aanmeldingsserver.containers: ... - name: order-service image: <acrName>.azurecr.io/aks-store-demo/order-service:latest ... - name: product-service image: <acrName>.azurecr.io/aks-store-demo/product-service:latest ... - name: store-front image: <acrName>.azurecr.io/aks-store-demo/store-front:latest ...
Sla het bestand op en sluit het bestand.
De toepassing uitvoeren
Implementeer de toepassing met behulp van de
kubectl apply
opdracht, waarmee het manifestbestand wordt geparseerd en de gedefinieerde Kubernetes-objecten worden gemaakt.kubectl apply -f aks-store-quickstart.yaml
In de volgende voorbeelduitvoer ziet u dat de resources zijn gemaakt in het AKS-cluster:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Controleer of de implementatie is geslaagd door de pods te bekijken met
kubectl
kubectl get pods
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.
Opdrachtregel
Bewaak de voortgang met behulp van de
kubectl get service
opdracht met het--watch
argument.kubectl get service store-front --watch
In eerste instantie wordt het
EXTERNAL-IP
voor destore-front
service weergegeven als<pending>
:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
Wanneer het
EXTERNAL-IP
adres wordt gewijzigd van<pending>
een openbaar IP-adres, gebruiktCTRL-C
u dit om hetkubectl
controleproces te stoppen.In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat aan de service is toegewezen:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Bekijk de toepassing in actie door een webbrowser te openen en naar het externe IP-adres van uw service te navigeren:
http://<external-ip>
.
Als de toepassing niet wordt geladen, is het mogelijk een autorisatieprobleem met uw installatiekopieënregister. Als u de status van uw containers wilt bekijken, gebruikt u de opdracht kubectl get pods
. Als u de containerinstallatiekopieën niet kunt ophalen, raadpleegt u Verifiëren met Azure Container Registry vanuit Azure Kubernetes Service.
Azure Portal
Navigeer naar Azure Portal om uw implementatiegegevens te vinden.
Navigeer naar uw AKS-clusterresource.
Selecteer Services en ingresses in het servicemenu onder Kubernetes-resources.
Kopieer het externe IP-adres dat wordt weergegeven in de kolom voor de
store-front
service.Plak het IP-adres in uw browser om uw winkelpagina te bezoeken.
Resources opschonen
Omdat u de functionaliteit van de toepassing hebt gevalideerd, kunt u het cluster nu uit de toepassing verwijderen. In de volgende zelfstudie implementeren we de toepassing opnieuw.
Stop en verwijder de containerinstanties en -resources met behulp van de
kubectl delete
opdracht.kubectl delete -f aks-store-quickstart.yaml
Controleer of alle toepassingspods zijn verwijderd met behulp van de
kubectl get pods
opdracht.kubectl get pods
Volgende stappen
In deze zelfstudie hebt u een Azure-voorbeeldtoepassing geïmplementeerd in een Kubernetes-cluster in AKS. U hebt geleerd hoe u:
- Werk een Kubernetes-manifestbestand bij.
- Voer een toepassing uit in Kubernetes.
- Test de toepassing.
In de volgende zelfstudie leert u hoe u PaaS-services gebruikt voor stateful workloads in Kubernetes.
Azure Kubernetes Service