Delen via


Een app implementeren

In dit artikel wordt beschreven hoe u een containertoepassing implementeert in uw Kubernetes-cluster.

Vereisten

Stel eerst uw Kubernetes - of volledige Kubernetes-cluster voor één machine in.

Een voorbeeld van een Linux-toepassing implementeren

Stap 1: het manifestbestand bijwerken

In dit artikel wordt een voorbeeldtoepassing gebruikt die bestaat uit een eenvoudige stem-app die bestaat uit een front- en back-end, die is gebaseerd op de installatiekopieën azure-vote-front van Microsoft. De containerinstallatiekopie voor deze toepassing wordt gehost op Azure Container Registry (ACR). Zie linux-sample.yaml in het GitHub-opslagplaatspakket voor het implementatiemanifest. In de YAML hebben we een nodeSelector tag opgegeven als Linux.

Stap 2: de toepassing implementeren

Gebruik de opdracht kubectl apply om uw toepassing te implementeren. Deze opdracht parseert het manifestbestand en maakt de gedefinieerde Kubernetes-objecten. Geef het YAML-manifestbestand op, zoals wordt weergegeven in het volgende voorbeeld:

kubectl apply -f  https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml

Stap 3: de pods controleren

Wacht enkele minuten totdat de pods de status Actief hebben:

kubectl get pods -o wide

Schermopname van Linux-pods die worden uitgevoerd.

Stap 4: de services controleren

Als u de voortgang wilt bewaken, gebruikt u de opdracht kubectl get services met de --watch parameter :

kubectl get services

Schermopname van Linux-services die worden uitgevoerd.

In eerste instantie wordt de EXTERNAL-IP voor de azure-vote-front service weergegeven als pending. Wanneer het EXTERNAL-IP adres verandert van pending in een daadwerkelijk openbaar IP-adres, kunt u het IP-adres gebruiken dat is toegewezen aan de service.

Belangrijk

Als u op clusters met één machine uw Kubernetes-cluster hebt geïmplementeerd zonder een -ServiceIPRangeSizeop te geven, hebt u geen IP-adressen toegewezen voor uw workloadservices en hebt u geen extern IP-adres. Zoek in dit geval het IP-adres van uw Linux-VM (Get-AksEdgeNodeAddr):

Get-AksEdgeNodeAddr -NodeType Linux

U kunt nu de externe poort toevoegen aan het IP-adres van de VM (bijvoorbeeld 192.168.1.12:30432).

Stap 5: uw toepassing testen

Open een webbrowser naar het externe IP-adres van uw service als u de toepassing in actie wilt zien:

Schermopname van Linux-apps die worden uitgevoerd.

Als de toepassing niet wordt geladen, kan dit worden veroorzaakt door een autorisatieprobleem met uw installatiekopieënregister. Als u de status van uw containers wilt bekijken, gebruikt u de opdracht kubectl get pods. Als de containerinstallatiekopieën niet kunnen worden opgehaald, raadpleegt u Verifiëren met Azure Container Registry van Azure Kubernetes Service.

Stap 6: toepassing verwijderen

Als u wilt opschonen, verwijdert u alle resources met behulp van de volgende opdracht:

kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml

Een voorbeeld van een Windows-toepassing implementeren in uw cluster

In dit voorbeeld wordt een voorbeeld ASP.NET toepassing uitgevoerd op basis van de voorbeeldafbeelding van Microsoft. Zie win-sample.yaml. De YAML geeft de nodeSelector tag op als Windows.

Stap 1: implementeer de toepassing door de naam van uw YAML-manifest op te geven

Zorg ervoor dat u zich in de map van de YAML in een PowerShell-venster bevindt en voer vervolgens de volgende opdracht uit:

kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml

Stap 2: controleren of de voorbeeldpod wordt uitgevoerd

Het kan enige tijd duren voordat de pod de actieve status heeft bereikt, afhankelijk van uw internetverbinding. De ASP.NET-installatiekopieën zijn groot:

kubectl get pods -o wide

Schermopname van Windows-pods die worden uitgevoerd.

Stap 3: controleren of de voorbeeldservice wordt uitgevoerd

kubectl get services

Schermopname van Windows-services die worden uitgevoerd.

Omdat dit voorbeeld wordt geïmplementeerd als een service van het type NodePort, kunt u het IP-adres ophalen van het Kubernetes-knooppunt waarop de toepassing wordt uitgevoerd en vervolgens de poort van de NodePort toevoegen. Haal het IP-adres van het Kubernetes-knooppunt op met behulp van de volgende Get-AksEdgeNodeAddropdracht:

Get-AksEdgeNodeAddr -NodeType Windows

Screesnhot met Windows-clustergegevens.

Stap 4: uw actieve Windows-voorbeeld controleren

Open een webbrowser en zoek de NodePort om toegang te krijgen tot uw service:

Schermopname van de Windows-app die wordt uitgevoerd.

Stap 5: opschonen

Als u wilt opschonen, verwijdert u alle resources met behulp van de volgende opdracht:

kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml

Uw eigen toepassingen implementeren

In de vorige stappen hebt u laten zien hoe u onze voorbeeldtoepassingen kunt implementeren. Ga als volgt te werk om uw eigen toepassing te implementeren:

  • Verpak uw toepassing in een containerinstallatiekopieën en upload de installatiekopieën vervolgens naar Azure Container Registry of in een containerregister van uw keuze. Bekijk deze stappen om een containerinstallatiekopieën van uw toepassing te maken.

  • AKS Edge Essentials maakt clusters met gemengde besturingssystemen mogelijk. Zorg ervoor dat uw pods worden gepland op knooppunten met het bijbehorende besturingssysteem. Voeg toe nodeSelector aan uw implementatiebestanden. Deze optie geeft Kubernetes de opdracht om uw pods uit te voeren op knooppunten van een bepaald besturingssysteem (OS). Als uw cluster één besturingssysteem is, kunt u deze stap overslaan; Maar voor de best practice labelt u elk implementatiebestand met knooppuntkiezers:

    nodeSelector:
        "kubernetes.io/os": linux
    
    nodeSelector:
        "kubernetes.io/os": windows
    

Volgende stappen