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
- Lépjen az Azure Portal kezdőlapjára.
- Válassza az Erőforrástárolók> létrehozása lehetőséget.
- Az Azure Kubernetes Service (AKS) erőforráson válassza a Létrehozás lehetőséget.
- 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.
- 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.
- Select Review + create.
- 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.
Konfigurálja
kubectl
a Kubernetes-fürthöz való csatlakozást aaz 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
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
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.
Futtassa az alkalmazást a
kubectl apply
paranccsal.kubectl apply -f virtual-node.yaml
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 megvirtual-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.
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
Telepítse
curl
a podba a következőapt-get
paranccsal.apt-get update && apt-get install -y curl
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> [...]
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: