Azure Kubernetes Services (ak) fürt létrehozása és konfigurálása virtuális csomópontok használatára a Azure PortalbanCreate and configure an Azure Kubernetes Services (AKS) cluster to use virtual nodes in the Azure portal

Ez a cikk bemutatja, hogyan hozhatja létre és konfigurálhatja a virtuális hálózati erőforrásokat és egy AK-fürtöt a virtuális csomópontok engedélyezésével a Azure Portal használatával.This article shows you how to use the Azure portal to create and configure the virtual network resources and an AKS cluster with virtual nodes enabled.

Megjegyzés

Ez a cikk áttekintést nyújt a régió rendelkezésre állásáról és a virtuális csomópontok használatával kapcsolatos korlátozásokról.This article gives you an overview of the region availability and limitations using virtual nodes.

ElőkészületekBefore you begin

A virtuális csomópontok hálózati kommunikációt tesznek lehetővé Azure Container Instances (ACI) és az AK-fürtön futó hüvelyek között.Virtual nodes enable network communication between pods that run in Azure Container Instances (ACI) and the AKS cluster. A kommunikáció biztosításához létre kell hozni egy virtuális hálózati alhálózatot, és hozzá kell rendelni a delegált engedélyeket.To provide this communication, a virtual network subnet is created and delegated permissions are assigned. A virtuális csomópontok csak a speciális hálózatkezelés (Azure CNI) használatával létrehozott AK-fürtökkel működnek.Virtual nodes only work with AKS clusters created using advanced networking (Azure CNI). Alapértelmezés szerint az AK-fürtök alapszintű hálózatkezeléssel (kubenet) jönnek létre.By default, AKS clusters are created with basic networking (kubenet). Ebből a cikkből megtudhatja, hogyan hozhat létre virtuális hálózatot és alhálózatokat, majd helyezzen üzembe egy speciális hálózatkezelést használó AK-fürtöt.This article shows you how to create a virtual network and subnets, then deploy an AKS cluster that uses advanced networking.

Ha korábban még nem használta az ACI-t, regisztrálja a szolgáltatót az előfizetésében.If you have not previously used ACI, register the service provider with your subscription. Az ACI-szolgáltató regisztrációjának állapotát az az Provider List parancs használatával tekintheti meg, ahogy az az alábbi példában is látható:You can check the status of the ACI provider registration using the az provider list command, as shown in the following example:

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

A Microsoft. ContainerInstance szolgáltatónak regisztráltként kell jelentenie, ahogy az alábbi példában is látható:The Microsoft.ContainerInstance provider should report as Registered , as shown in the following example output:

Namespace                    RegistrationState    RegistrationPolicy
---------------------------  -------------------  --------------------
Microsoft.ContainerInstance  Registered           RegistrationRequired

Ha a szolgáltató NotRegistered -ként jelenik meg, regisztrálja a szolgáltatót az az Provider Register paranccsal az alábbi példában látható módon:If the provider shows as NotRegistered , register the provider using the az provider register as shown in the following example:

az provider register --namespace Microsoft.ContainerInstance

Bejelentkezés az Azure-baSign in to Azure

Jelentkezzen be az Azure Portalra a https://portal.azure.com webhelyen.Sign in to the Azure portal at https://portal.azure.com.

AKS-fürt létrehozásaCreate an AKS cluster

A Azure Portal bal felső sarkában válassza az erőforrás létrehozása > Kubernetes-szolgáltatás elemet.In the top left-hand corner of the Azure portal, select Create a resource > Kubernetes Service.

Az Alapvető beállítások lapon konfigurálja az alábbiakat:On the Basics page, configure the following options:

  • PROJEKT ADATAI : Válasszon ki egy Azure-előfizetést, majd válasszon ki vagy hozzon létre egy Azure-erőforráscsoportot, például: myResourceGroup.PROJECT DETAILS : Select an Azure subscription, then select or create an Azure resource group, such as myResourceGroup. Adja meg a Kubernetes-fürt nevét , például myAKSCluster.Enter a Kubernetes cluster name , such as myAKSCluster.
  • FÜRT ADATAI : Válasszon egy régiót, Kubernetes-verziót és DNS-névelőtagot az AKS-fürthöz.CLUSTER DETAILS : Select a region, Kubernetes version, and DNS name prefix for the AKS cluster.
  • Elsődleges csomóponti készlet : válasszon ki egy virtuálisgép-méretet az AK-csomópontok számára.PRIMARY NODE POOL : Select a VM size for the AKS nodes. A virtuálisgép-méret az AKS-fürt telepítését követően nem módosítható.The VM size cannot be changed once an AKS cluster has been deployed.
    • Adja meg a fürtre telepítendő csomópontok számát.Select the number of nodes to deploy into the cluster. Ehhez a cikkhez állítsa a csomópontok száma 1 értékre.For this article, set Node count to 1. A csomópontok száma a fürt telepítése után is módosítható.Node count can be adjusted after the cluster has been deployed.

Kattintson a Tovább: skála lehetőségre.Click Next: Scale.

A skála lapon válassza az engedélyezve lehetőséget a virtuális csomópontok alatt.On the Scale page, select Enabled under Virtual nodes.

AK-fürt létrehozása és a virtuális csomópontok engedélyezése

Alapértelmezés szerint létrejön egy Azure Active Directory egyszerű szolgáltatásnév.By default, an Azure Active Directory service principal is created. Ez az egyszerű szolgáltatás a fürtök közötti kommunikációhoz és más Azure-szolgáltatásokkal való integrációhoz használatos.This service principal is used for cluster communication and integration with other Azure services. Azt is megteheti, hogy egy egyszerű szolgáltatásnév helyett felügyelt identitást is használhat az engedélyekhez.Alternatively, you can use a managed identity for permissions instead of a service principal. További információ: felügyelt identitások használata.For more information, see Use managed identities.

A fürt speciális hálózatkezelésre is konfigurálva van.The cluster is also configured for advanced networking. A virtuális csomópontok saját Azure-beli virtuális hálózati alhálózatának használatára vannak konfigurálva.The virtual nodes are configured to use their own Azure virtual network subnet. Ez az alhálózat delegált engedélyekkel rendelkezik az Azure-erőforrások az AK-fürthöz való összekapcsolásához.This subnet has delegated permissions to connect Azure resources between the AKS cluster. Ha még nem rendelkezik delegált alhálózattal, a Azure Portal létrehozza és konfigurálja az Azure-beli virtuális hálózatot és az alhálózatot a virtuális csomópontokkal való használatra.If you don't already have delegated subnet, the Azure portal creates and configures the Azure virtual network and subnet for use with the virtual nodes.

Válassza a Felülvizsgálat + létrehozás lehetőséget.Select Review + create. Az ellenőrzés befejezése után válassza a Létrehozás lehetőséget.After the validation is complete, select Create.

Az AKS-fürt létrehozása és a használatra való előkészítése néhány percet vesz igénybe.It takes a few minutes to create the AKS cluster and to be ready for use.

Csatlakozás a fürthözConnect to the cluster

Az Azure Cloud Shell egy olyan ingyenes interaktív kezelőfelület, amelyet a jelen cikkben található lépések futtatására használhat.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 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.It has common Azure tools preinstalled and configured to use with your account. Kubernetes-fürtök kezeléséhez használja a kubectl eszközt, a Kubernetes parancssori ügyfelét.To manage a Kubernetes cluster, use kubectl, the Kubernetes command-line client. A kubectl ügyfél előzetesen már telepítve van az Azure Cloud Shellben.The kubectl client is pre-installed in the Azure Cloud Shell.

A Cloud Shell megnyitásához válassza a kipróbálás elemet a kód jobb felső sarkában.To open the Cloud Shell, select Try it from the upper right corner of a code block. A Cloud Shell egy külön böngészőablakban is elindíthatja https://shell.azure.com/bash .You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/bash. A Copy (másolás) gombra kattintva másolja és illessze be a kódot a Cloud Shellbe, majd nyomja le az Enter billentyűt a futtatáshoz.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Az az aks get-credentials paranccsal konfigurálhatja a kubectl ügyfelet a Kubernetes-fürthöz való csatlakozásra.Use the az aks get-credentials command to configure kubectl to connect to your Kubernetes cluster. A következő példa lekéri a myResourceGroup erőforrásban lévő myAKSCluster fürtnév hitelesítő adatait:The following example gets credentials for the cluster name myAKSCluster in the resource group named myResourceGroup :

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

A fürthöz való csatlakozás ellenőrzéséhez használja a kubectl get parancsot a fürtcsomópontok listájának lekéréséhez.To verify the connection to your cluster, use the kubectl get command to return a list of the cluster nodes.

kubectl get nodes

A következő példa kimenete az egyetlen virtuálisgép-csomópontot mutatja, majd a Linux, Virtual-Node-ACI-Linux virtuális csomópontot:The following example output shows the single VM node created and then the virtual node for Linux, virtual-node-aci-linux :

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

Minta alkalmazás üzembe helyezéseDeploy a sample app

A Azure Cloud Shell hozzon létre egy nevű fájlt, virtual-node.yaml és másolja a következő YAML.In the Azure Cloud Shell, create a file named virtual-node.yaml and copy in the following YAML. A tárolónak a csomóponton való megadásához meg kell adni a nodeSelector és a tolerancia értéket.To schedule the container on the node, a nodeSelector and toleration are defined. Ezek a beállítások lehetővé teszik, hogy a pod legyen ütemezve a virtuális csomóponton, és ellenőrizze, hogy a szolgáltatás sikeresen engedélyezve van-e.These settings allow the pod to be scheduled on the virtual node and confirm that the feature is successfully enabled.

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

Futtassa az alkalmazást az kubectl Apply paranccsal.Run the application with the kubectl apply command.

kubectl apply -f virtual-node.yaml

A kubectl Get hüvely parancs használatával adja -o wide meg az argumentumot a hüvelyek és az ütemezett csomópontok listájának kimenetéhez.Use the kubectl get pods command with the -o wide argument to output a list of pods and the scheduled node. Figyelje meg, hogy a virtual-node-helloworld Pod ütemezve van a virtual-node-linux csomóponton.Notice that the virtual-node-helloworld pod has been scheduled on the virtual-node-linux node.

kubectl get pods -o wide
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

A pod a virtuális csomópontokkal való használatra delegált Azure virtuális hálózati alhálózatból származó belső IP-címet kap.The pod is assigned an internal IP address from the Azure virtual network subnet delegated for use with virtual nodes.

Megjegyzés

Ha Azure Container Registryban tárolt rendszerképeket használ, konfigurálja és használja a Kubernetes titkos kulcsát.If you use images stored in Azure Container Registry, configure and use a Kubernetes secret. A virtuális csomópontok jelenlegi korlátozása az, hogy nem használhatja az integrált Azure AD szolgáltatás egyszerű hitelesítését.A current limitation of virtual nodes is that you can't use integrated Azure AD service principal authentication. Ha nem használ titkos kódot, a virtuális csomópontokon ütemezett hüvelyek nem indulnak el, és nem jelentik a hibát HTTP response status code 400 error code "InaccessibleImage" .If you don't use a secret, pods scheduled on virtual nodes fail to start and report the error HTTP response status code 400 error code "InaccessibleImage".

A virtuális csomópont-Pod teszteléseTest the virtual node pod

A virtuális csomóponton futó Pod teszteléséhez keresse meg a bemutató alkalmazást egy webes ügyféllel.To test the pod running on the virtual node, browse to the demo application with a web client. Mivel a pod belső IP-cím van hozzárendelve, gyorsan tesztelheti ezt a kapcsolatot egy másik Pod-on az AK-fürtön.As the pod is assigned an internal IP address, you can quickly test this connectivity from another pod on the AKS cluster. Hozzon létre egy teszt Pod-t, és csatoljon hozzá egy terminál-munkamenetet:Create a test pod and attach a terminal session to it:

kubectl run -it --rm virtual-node-test --image=debian

Telepítés curl a pod használatával apt-get :Install curl in the pod using apt-get:

apt-get update && apt-get install -y curl

Most nyissa meg a pod curl -t a használatával, például: http://10.241.0.4 .Now access the address of your pod using curl, such as http://10.241.0.4. Az előző parancsban megjelenő saját belső IP-cím megadása kubectl get pods :Provide your own internal IP address shown in the previous kubectl get pods command:

curl -L http://10.241.0.4

Megjelenik a bemutató alkalmazás, ahogy az a következő tömörített példában látható:The demo application is displayed, as shown in the following condensed example output:

<html>
<head>
  <title>Welcome to Azure Container Instances!</title>
</head>
[...]

Zárjuk be a terminál-munkamenetet a test Pod-be a használatával exit .Close the terminal session to your test pod with exit. Ha a munkamenet véget ér, a rendszer törli a pod-t.When your session is ended, the pod is the deleted.

Következő lépésekNext steps

Ebben a cikkben egy Pod-t ütemeztek a virtuális csomóponton, és egy privát, belső IP-címet rendeltek hozzá.In this article, a pod was scheduled on the virtual node and assigned a private, internal IP address. Ehelyett hozzon létre egy szolgáltatás központi telepítését, és irányítsa a forgalmat a pod-ra egy terheléselosztó vagy egy bejövő vezérlő használatával.You could instead create a service deployment and route traffic to your pod through a load balancer or ingress controller. További információkért lásd: alapszintű bejövő vezérlő létrehozása az AK-ban.For more information, see Create a basic ingress controller in AKS.

A virtuális csomópontok egy méretezési megoldás egyik összetevője az AK-ban.Virtual nodes are one component of a scaling solution in AKS. A megoldások méretezésével kapcsolatos további információkért tekintse meg a következő cikkeket:For more information on scaling solutions, see the following articles: