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
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
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 -ServiceIPRangeSize
op 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:
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
Stap 3: controleren of de voorbeeldservice wordt uitgevoerd
kubectl get services
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-AksEdgeNodeAddr
opdracht:
Get-AksEdgeNodeAddr -NodeType Windows
Stap 4: uw actieve Windows-voorbeeld controleren
Open een webbrowser en zoek de NodePort om toegang te krijgen tot uw service:
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