Dela via


Självstudie: Distribuera virtuella noder på Azure Container Instances i ditt Azure Kubernetes Service-kluster

I den här självstudien använder du Azure Portal för att distribuera ett AKS-kluster (Azure Kubernetes Service). När du har distribuerat AKS-klustret använder du ett Helm-diagram för att distribuera virtuella noder på Azure Container Instances.

Förutsättningar

Den här självstudien förutsätter att du har följande verktyg installerade:

  • Azure CLI
  • kubectl (version 1.29+)
  • Helm
  • Git

Logga in på Azure

Logga in på Azure-portalen på https://portal.azure.com

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Skapa ett virtuellt nätverk för ditt AKS-kluster

På startsidan Azure Portal väljer du Skapa en resurs.

Skärmbild som visar hur du börjar skapa ett nytt virtuellt nätverk i Azure Portal.

Välj Nätverk Virtuellt>nätverk.

Skärmbild som visar hur du väljer ett nytt virtuellt nätverk som du vill skapa i Azure Portal.

På sidan Grundläggande väljer du en prenumeration och anger följande värden:

  • Resursgrupp: Skapa ny>virtualnodesresourcegroup
  • Namn på virtuellt nätverk: myvirtualnetwork
  • Region: East US

Skärmbild som visar hur du konfigurerar sidan Grundläggande för att skapa virtuella nätverk i Azure Portal.

På sidan IP-adresser konfigurerar du följande adressutrymmen och undernät:

Skärmbild som visar hur du konfigurerar sidan IP-adresser för att skapa virtuella nätverk i Azure Portal.

Lämna alla andra inställningar som standardinställningar och välj sedan Granska + skapa.

När verifieringen är klar visas en sammanfattning av inställningarna för det virtuella nätverket. Välj Skapa för att skicka din begäran om distribution av virtuella nätverk.

När distributionen startar visas ett meddelande som anger att distributionen pågår. Ett annat meddelande visas när det virtuella nätverket har distribuerats.

Skapa ditt AKS-kluster

På startsidan Azure Portal väljer du Skapa en resurs.

Skärmbild som visar hur du börjar skapa ett nytt virtuellt nätverk i Azure Portal.

Välj Containrar>Azure Kubernetes Service (AKS).

Skärmbild som visar hur du väljer ett nytt AKS-kluster som du vill skapa i Azure Portal.

På sidan Grundläggande väljer du samma prenumeration som du använde för att skapa det virtuella nätverket och anger följande värden:

  • Resursgrupp: virtualnodesresourcegroup
  • Förinställd konfiguration av kluster: Dev/Test
  • Kubernetes-klusternamn: virtualnodescluster
  • Region: East US
  • Kubernetes-version: Alla versioner som börjar med 1.29. – till exempel 1.29.10
  • Automatisk uppgradering: Enabled with patch

Skärmbild som visar hur du konfigurerar sidan Grundläggande för att skapa AKS-kluster i Azure Portal.

På sidan Nodpooler väljer du valfri VM-SKU med minst 4 vCPU:er och 16 GB RAM-minne för nodpoolenagentpool. Dessa noder används som värd för infrastrukturen för virtuella noder. Välj Enable virtual nodes inte – detta refererar till det tidigare erbjudandet för virtuella noder för AKS.

Skärmbild som visar hur du konfigurerar sidan Nodpooler för att skapa AKS-kluster i Azure Portal.

På sidan Nätverk anger du följande värden:

  • Nätverkskonfiguration: Azure CNI Node Subnet
  • Ta med ditt eget virtuella Azure-nätverk: Enabled
  • Virtuellt nätverk: myvirtualnetwork
  • Klusterundernät: aks
  • Kubernetes-tjänstens adressintervall: 10.4.0.0/16
  • Ip-adress för Kubernetes DNS-tjänsten: 10.4.0.10
  • Nätverksprincip: Calico

Skärmbild som visar hur du konfigurerar sidan Nätverk för att skapa AKS-kluster i Azure Portal.

Lämna alla andra inställningar som standardinställningar och välj sedan Granska + skapa.

När valideringen är klar visas en sammanfattning av AKS-klustrets inställningar. Välj Skapa för att skicka din begäran om distribution av AKS-kluster.

När distributionen startar visas ett meddelande som anger att distributionen pågår. Ett annat meddelande visas när AKS-klustret har distribuerats.

Tilldela behörigheter till aks-klustrets hanterade identitet

När du distribuerar ett AKS-kluster skapar AKS en nodresursgrupp i samma prenumeration som värd för klusterinfrastrukturen. Som standard har den här resursgruppen ett namn som MC_<resource group>_<AKS cluster>_<region>. I den här självstudien ska nodresursgruppen ha namnet MC_virtualnodesresourcegroup_virtualnodescluster_eastus.

En av resurserna som skapas i nodresursgruppen är en hanterad identitet med namnet virtualnodescluster_agentpool. Navigera till den här hanterade identiteten och välj Azure-rolltilldelningar. Lägg sedan till följande två rolltilldelningar:

  • Omfång: Resource group
  • Prenumeration: <your subscription name>
  • Resursgrupp: MC_virtualnodesresourcegroup_virtualnodescluster_eastus
  • Roll: Contributor

Med den här rolltilldelningen kan du skapa ACI-containergrupper i nodresursgruppen.

  • Omfång: Resource group
  • Prenumeration: <your subscription name>
  • Resursgrupp: virtualnodesresourcegroup
  • Roll: Contributor

Med den här rolltilldelningen kan ACI-containergrupper matas in i det virtuella nätverk som du skapade i den här resursgruppen.

Skärmbild som visar rolltilldelningar som lagts till i den AKS-hanterade identiteten.

Installera virtuella noder på Azure Container Instances med hjälp av Helm-diagrammet

Använd Azure CLI för att hämta konfigurationen och autentiseringsuppgifterna för AKS-klustret som du skapade. Detta konfigurerar kubectl för ditt AKS-kluster.

az login

az account set --subscription <your subscription ID>

az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup

Dessutom registrerar vi ACI-resursprovidern för din prenumeration så att du kan distribuera containergrupper.

az provider register -n Microsoft.ContainerInstance

Klona GitHub-lagringsplatsen virtualnodesOnAzureContainerInstances. Helm-diagrammet för att installera virtuella noder på Azure Container Instances finns i Helm/virtualnode mappen .

Installera Helm-diagrammet med följande kommando:

helm install virtualnode <cloned repository location>\Helm\virtualnode

Inom en minut registreras en ny virtuell nod och i tillståndet Klar i AKS-klustret. Du kan kontrollera statusen för dina AKS-klusternoder med kubectl.

kubectl get nodes

Skärmbild som visar utdata från kommandot kubectl get nodes med en virtuell nod i tillståndet Klar.

Distribuera din första podd till en virtuell nod

Du kan interagera med virtuella noder som andra Kubernetes-noder. Exempel-YAML nedan distribuerar till exempel en podd till den virtuella noden i AKS-klustret – observera användningen av nodväljare och toleranser för att placera podden på rätt sätt. Du kan distribuera YAML med kubectl apply.

apiVersion: v1
kind: Pod
metadata:
  annotations:    
  name: demo-pod
spec:
  containers:
  - command:
    - /bin/bash
    - -c
    - 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
    image: mcr.microsoft.com/azure-cli
    name: hello-world-counter
    resources:
      limits:
        cpu: 2250m
        memory: 2256Mi
      requests:
        cpu: 100m
        memory: 128Mi
  nodeSelector:
    virtualization: virtualnode2
  tolerations:
  - effect: NoSchedule
    key: virtual-kubelet.io/provider
    operator: Exists

När podden har distribuerats kan du interagera med den precis som en "normal" Kubernetes-podd.

Om du till exempel vill se poddstatus och händelser (användbart för att hitta fel!):

kubectl describe pods demo-pod

Så här visar du loggar för podden:

kubectl logs demo-pod

Så här hämtar du ett gränssnitt för podden:

kubectl exec demo-pod -it -- /bin/bash

Nästa steg

I den här självstudien skapade du ett AKS-kluster i Azure Portal, distribuerade virtuella noder på Azure Container Instances med hjälp av ett Helm-diagram och distribuerade en podd till din virtuella nod. Nu har du grundläggande kunskaper om hur du kör Kubernetes-poddar på din virtuella nod, och du kan använda de flesta Kubernetes-funktioner och konstruktioner på dessa poddar direkt!

Om du vill använda specialiserade funktioner eller beteenden för virtuella noder för dina poddar kan du läsa Poddanpassningar.

Om du vill anpassa installationen av den virtuella noden läser du Nodanpassningar.

Om du planerar att distribuera storskaliga arbetsbelastningar (tusentals poddar per minut) på virtuella noder har vi metodtips och rekommendationer.