Azure Kubernetes Services- (AKS-) fürt létrehozása és konfigurálása virtuális csomópontok használatára az Azure Portalon

A virtuális csomópontok lehetővé teszik az Azure Container Instances (ACI) és az Azure Kubernetes Service (AKS) fürtökön futó podok közötti hálózati kommunikációt. A kommunikáció biztosításához létrejön egy virtuális hálózati alhálózat, és delegált engedélyek lesznek hozzárendelve. A virtuális csomópontok csak speciális hálózatkezeléssel (Azure CNI) létrehozott AKS-fürtökkel működnek. Az AKS-fürtök alapértelmezés szerint alapszintű hálózatkezeléssel (kubenet) jönnek létre.

Ez a cikk bemutatja, hogyan hozhat létre virtuális hálózatot és alhálózatokat, majd hogyan helyezhet üzembe egy speciális hálózatkezelést használó AKS-fürtöt az Azure Portal használatával.

Megjegyzés:

A virtuális csomópontok régióinak rendelkezésre állásáról és korlátairól a Virtuális csomópontok használata az AKS-ben című témakörben olvashat.

Előkészületek

Szüksége van az előfizetésében regisztrált ACI-szolgáltatóra.

  • Ellenőrizze az ACI-szolgáltató regisztrációjának állapotát a az provider list paranccsal.

    az provider list --query "[?contains(namespace,'Microsoft.ContainerInstance')]" -o table
    

    Az alábbi példakimenet azt mutatja, hogy a Microsoft.ContainerInstance szolgáltató regisztrált:

    Namespace                    RegistrationState    RegistrationPolicy
    ---------------------------  -------------------  --------------------
    Microsoft.ContainerInstance  Registered           RegistrationRequired
    
  • Ha a szolgáltató nincs regisztrálva, regisztrálja azt a az provider register paranccsal.

    az provider register --namespace Microsoft.ContainerInstance
    

AKS-fürt létrehozása

  1. Lépjen az Azure Portal kezdőlapjára.
  2. Válassza az Erőforrástárolók> létrehozása lehetőséget.
  3. Az Azure Kubernetes Service (AKS) erőforráson válassza a Létrehozás lehetőséget.
  4. Az Alapszintű beállítások lapon konfigurálja a következő beállításokat:
    • Projekt részletei: Válasszon ki egy Azure-előfizetést, majd válasszon vagy hozzon létre egy Azure-erőforráscsoportot, például a myResourceGroupot.
    • Fürt részletei: Adjon meg egy Kubernetes-fürtnevet, például myAKSClustert. Válasszon régiót és Kubernetes-verziót az AKS-fürthöz.
  5. Válassza a Tovább: Csomópontkészletek lehetőséget, és jelölje be a *Virtuális csomópontok engedélyezése jelölőnégyzetet. Screenshot that shows creating a cluster with virtual nodes enabled on the Azure portal. The option 'Enable virtual nodes' is highlighted.
  6. Select Review + create.
  7. Az ellenőrzés befejezése után válassza a Létrehozás lehetőséget.

Ez a folyamat alapértelmezés szerint létrehoz egy felügyelt fürtidentitást, amelyet a fürtkommunikációhoz és más Azure-szolgáltatásokkal való integrációhoz használnak. További információ: Felügyelt identitások használata. A fürt identitásaként szolgáltatásnevet is használhat.

Ez a folyamat konfigurálja a fürtöt a speciális hálózatkezeléshez, a virtuális csomópontokat pedig saját Azure-beli virtuális hálózati alhálózat használatára. Az alhálózat delegált engedélyekkel rendelkezik az Azure-erőforrások az AKS-fürt közötti összekapcsolásához. Ha még nem rendelkezik delegált alhálózattal, az Azure Portal létrehoz és konfigurál egy Azure-beli virtuális hálózatot és alhálózatot a virtuális csomópontokkal.

Csatlakozás a fürthöz

Az Azure Cloud Shell egy ingyenes interaktív rendszerhéj, a cikk lépéseinek futtatásához. A fiókjával való használat érdekében a gyakran használt Azure-eszközök már előre telepítve és konfigurálva vannak rajta. Kubernetes-fürtök kezeléséhez használja a kubectl eszközt, a Kubernetes parancssori ügyfelét. A kubectl ügyfél előzetesen már telepítve van az Azure Cloud Shellben.

  1. Konfigurálja kubectl a Kubernetes-fürthöz való csatlakozást a az aks get-credentials paranccsal. A következő példa lekéri a myResourceGroup erőforrásban lévő myAKSCluster fürtnév hitelesítő adatait:

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. Ellenőrizze a fürthöz való kapcsolatot a kubectl get nodes.

    kubectl get nodes
    

    Az alábbi példakimenet a létrehozott egyetlen virtuálisgép-csomópontot és a virtual-node-aci-linux nevű virtuális Linux-csomópontot mutatja be:

    NAME                           STATUS    ROLES     AGE       VERSION
    virtual-node-aci-linux         Ready     agent     28m       v1.11.2
    aks-agentpool-14693408-0       Ready     agent     32m       v1.11.2
    

Mintaalkalmazás üzembe helyezése

  1. Az Azure Cloud Shellben hozzon létre egy fájlt, amely a következő YAML-ben van elnevezve virtual-node.yaml és másolva:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: aci-helloworld
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: aci-helloworld
      template:
        metadata:
          labels:
            app: aci-helloworld
        spec:
          containers:
          - name: aci-helloworld
            image: mcr.microsoft.com/azuredocs/aci-helloworld
            ports:
            - containerPort: 80
          nodeSelector:
            kubernetes.io/role: agent
            beta.kubernetes.io/os: linux
            type: virtual-kubelet
          tolerations:
          - key: virtual-kubelet.io/provider
            operator: Exists
    

    A YAML egy nodeSelector és toleration paramétert határoz meg, amely lehetővé teszi a pod ütemezését a virtuális csomóponton. A podhoz egy belső IP-cím van hozzárendelve a virtuális csomópontokkal való használatra delegált Azure-beli virtuális hálózati alhálózatból.

  2. Futtassa az alkalmazást a kubectl apply paranccsal.

    kubectl apply -f virtual-node.yaml
    
  3. Tekintse meg a csomóponton ütemezett podokat az kubectl get pods argumentumot tartalmazó -o wide paranccsal.

    kubectl get pods -o wide
    

    Az alábbi példakimenet a virtual-node-helloworld csomóponton ütemezett podot jeleníti meg virtual-node-linux .

    NAME                                     READY     STATUS    RESTARTS   AGE       IP           NODE
    virtual-node-helloworld-9b55975f-bnmfl   1/1       Running   0          4m        10.241.0.4   virtual-node-aci-linux
    

Megjegyzés:

Ha az Azure Container Registryben tárolt rendszerképeket használ, konfiguráljon és használjon Kubernetes-titkos kulcsot. A virtuális csomópontok korlátozása, hogy nem használhatja az integrált Microsoft Entra szolgáltatásnév-hitelesítést. Ha nem használ titkos kulcsot, a virtuális csomópontokon ütemezett podok nem indulnak el, és nem jelentik a hibát HTTP response status code 400 error code "InaccessibleImage".

A virtuális csomópont podjának tesztelése

A virtuális csomóponton futó pod teszteléséhez keresse meg a bemutató alkalmazást egy webes ügyféllel. A podhoz egy belső IP-cím van hozzárendelve, így egyszerűen tesztelheti a kapcsolatot az AKS-fürt egy másik podjáról.

  1. Hozzon létre egy teszt podot, és csatoljon hozzá egy terminál munkamenetet az alábbi kubectl run paranccsal.

    kubectl run -it --rm virtual-node-test --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
    
  2. Telepítse curl a podba a következő apt-get paranccsal.

    apt-get update && apt-get install -y curl
    
  3. A pod címét az alábbi curl paranccsal érheti el, és adja meg a belső IP-címét.

    curl -L http://10.241.0.4
    

    Az alábbi tömörített példakimenet a bemutató alkalmazást mutatja be.

    <html>
    <head>
      <title>Welcome to Azure Container Instances!</title>
    </head>
    [...]
    
  4. Zárja be a terminál munkamenetet a teszt podhoz exit, amely szintén törli a podot.

    exit
    

Következő lépések

Ebben a cikkben egy podot ütemezett a virtuális csomópontra, és hozzárendelt egy privát, belső IP-címet. Ha szeretné, létrehozhat egy szolgáltatástelepítést, és átirányíthatja a forgalmat a podra egy terheléselosztón vagy bejövőforgalom-vezérlőn keresztül. További információ: Alapszintű bejövőforgalom-vezérlő létrehozása az AKS-ben.

A virtuális csomópontok az AKS skálázási megoldásának egyik összetevője. A skálázási megoldásokkal kapcsolatos további információkért tekintse meg az alábbi cikkeket: