Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du distribuerar ett containerbaserat program i ditt Kubernetes-kluster.
Förutsättningar
Kom igång genom att konfigurera kubernetes eller fullständigt Kubernetes-kluster på en enda dator.
Distribuera ett Linux-exempelprogram
Steg 1: Uppdatera manifestfilen
Den här artikeln använder ett exempelprogram som är en enkel röstningsapp som består av en klient- och serverdel som baseras på Microsofts azure-vote-front-avbildning . Containeravbildningen för det här programmet finns på Azure Container Registry (ACR). Se linux-sample.yaml i GitHub-lagringsplatsens paket för distributionsmanifestet. I YAML angav vi en nodeSelector tagg som Linux.
Steg 2: Distribuera programmet
För att distribuera ditt program använder du kommandot kubectl apply. Det här kommandot parsar manifestfilen och skapar de definierade Kubernetes-objekten. Ange YAML-manifestfilen enligt följande exempel:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Steg 3: Verifiera poddarna
Vänta några minuter tills poddarna körs :
kubectl get pods -o wide
Steg 4: Verifiera tjänsterna
Om du vill övervaka förloppet använder du kommandot kubectl get services med parametern --watch :
kubectl get services
EXTERNAL-IP Till en början visas för azure-vote-front tjänsten som pending.
EXTERNAL-IP När adressen ändras från pending till en faktisk offentlig IP-adress kan du använda den IP-adress som tilldelats till tjänsten.
Viktigt
Om du distribuerade Kubernetes-klustret utan att ange en -ServiceIPRangeSizei klustret för en enskild dator har du inte allokerade IP-adresser för dina arbetsbelastningstjänster och du har ingen extern IP-adress. I det här fallet letar du reda på IP-adressen för din virtuella Linux-dator (Get-AksEdgeNodeAddr):
Get-AksEdgeNodeAddr -NodeType Linux
Nu kan du lägga till den externa porten i den virtuella datorns IP-adress (till exempel 192.168.1.12:30432).
Steg 5: Testa ditt program
Om du vill se hur programmet fungerar i praktiken så öppnar du en webbläsare till den externa IP-adressen för din tjänst:
Om programmet inte läses in kan det bero på ett auktoriseringsproblem med avbildningsregistret. Du kan visa statusen för dina containrar med hjälp av kommandot kubectl get pods. Om containeravbildningarna inte kan hämtas läser du Autentisera med Azure Container Registry från Azure Kubernetes Service.
Steg 6: Ta bort program
Rensa genom att ta bort alla resurser med följande kommando:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Distribuera ett Windows-exempelprogram till klustret
Det här exemplet kör ett exempel ASP.NET program baserat på Microsofts exempelbild. Se win-sample.yaml. YAML anger taggen nodeSelector som Windows.
Steg 1: Distribuera programmet genom att ange namnet på yaml-manifestet
Kontrollera att du är i katalogen för YAML i ett PowerShell-fönster och kör sedan följande kommando:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Steg 2: Kontrollera att exempelpodden körs
Det kan ta en stund för podden att nå körningsstatusen, beroende på internetanslutningen. Den ASP.NET bilden är stor:
kubectl get pods -o wide
Steg 3: Kontrollera att exempeltjänsten körs
kubectl get services
Eftersom det här exemplet distribueras som en tjänst av typen NodePort kan du hämta IP-adressen för Kubernetes-noden som programmet körs på och sedan lägga till porten för NodePort. Hämta IP-adressen för Kubernetes-noden med följande Get-AksEdgeNodeAddrkommando:
Get-AksEdgeNodeAddr -NodeType Windows
Steg 4: Verifiera windowsexemplet som körs
Öppna en webbläsare och leta upp NodePort för att få åtkomst till din tjänst:
Steg 5: Rensa
Rensa genom att ta bort alla resurser med följande kommando:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Distribuera egna program
Föregående steg visade hur du kan distribuera våra exempelprogram. Om du vill distribuera ditt eget program gör du följande:
Paketera ditt program i en containeravbildning och ladda sedan upp avbildningen till Azure Container Registry eller i ett containerregister som du väljer. Gå igenom de här stegen för att skapa en containeravbildning av ditt program.
AKS Edge-Essentials aktiverar kluster med blandade operativsystem. Se till att dina poddar schemaläggs på noder med motsvarande operativsystem. Lägg till
nodeSelectori dina distributionsfiler. Det här alternativet instruerar Kubernetes att köra dina poddar på noder i ett visst operativsystem (OS). Om klustret är ett enda operativsystem kan du hoppa över det här steget. men för bästa praxis kan du märka varje distributionsfil med nodväljare:nodeSelector: "kubernetes.io/os": linuxnodeSelector: "kubernetes.io/os": windows