Megosztás a következőn keresztül:


Azure Kubernetes Service-fürt létrehozása API Server VNet-integrációval

Az API Server VNet-integrációval konfigurált Azure Kubernetes Service (AKS) fürt közvetlenül egy delegált alhálózatra irányítja az API-kiszolgáló végpontot abban a virtuális hálózatban, ahol az AKS telepítve van. Az API Server VNet-integráció privát kapcsolat vagy alagút nélkül teszi lehetővé az API-kiszolgáló és a fürtcsomópontok közötti hálózati kommunikációt. Az API-kiszolgáló egy belső terheléselosztó VIP mögött érhető el a delegált alhálózatban, amelyet a csomópontok használnak. Az API Server virtuális hálózatok integrációjával biztosíthatja, hogy az API-kiszolgáló és a csomópontkészletek közötti hálózati forgalom csak a magánhálózaton maradjon.

API-kiszolgáló csatlakoztatása

A vezérlősík vagy az API-kiszolgáló egy AKS által felügyelt Azure-előfizetésben található. A fürt- vagy csomópontkészlet a Azure-előfizetésben található. A fürtcsomópontokat alkotó szerver és virtuális gépek a delegált alhálózatra kivetített API szerver VIP és pod IP-címeken keresztül kommunikálhatnak egymással.

Az API Server VNet-integráció nyilvános vagy privát fürtök esetében támogatott. A fürt kiépítése után nyilvános hozzáférést adhat hozzá vagy távolíthat el. A nem virtuális hálózatokba integrált fürtökkel ellentétben az ügynökcsomópontok dns használata nélkül mindig közvetlenül kommunikálnak az API-kiszolgáló belső terheléselosztójának (ILB) IP-címével. Az API-kiszolgáló felé irányuló összes forgalom magánhálózaton marad, és az API-kiszolgáló csomópontkapcsolatához nincs szükség alagútra. Az API-kiszolgálóval kommunikáló fürtön kívüli ügyfelek ezt normál esetben is megtehetik, ha a nyilvános hálózati hozzáférés engedélyezve van. Ha a nyilvános hálózati hozzáférés le van tiltva, akkor ugyanazt a privát DNS-beállítási módszert kell követnie, mint a standard privát fürtöknek.

Előfeltételek

  • Telepítve kell lennie Azure CLI 2.73.0-s vagy újabb verziójának. A az --version parancs használatával ellenőrizheti a saját verzióját.

Korlátozások

  • Az API Server VNet-integráció nem támogatja a Virtual Network titkosítást. A v3 vagy korábbi AKS-csomópont termékváltozatára telepített klaszterek (amelyek nem támogatják a virtuális hálózat titkosítását) megengedettek, de a forgalom nem lesz titkosítva. A v4-es vagy újabb verziójú AKS-csomópont SKU-kon (amelyek támogatják a VNet titkosítást) telepített fürtök blokkolva vannak, mert a titkosított VNets nem kompatibilisek az API Server VNet-integrációval. Részletekért tekintse meg az AKS által támogatott virtuálisgép-termékváltozatokat .

Availability

  • Az API Server VNet-integráció a Qatarcentral kivételével az összes nyilvános felhőrégióban elérhető.

AKS-fürt létrehozása API Server VNet-integrációval felügyelt virtuális hálózat használatával

Az AKS-fürtöket az API Server VNet-integrációval konfigurálhatja felügyelt Virtuális Hálózatokban vagy konfigurálhatja saját Virtuális Hálózat módban is. Létrehozhatja őket nyilvános fürtként (ahol az API-kiszolgáló nyilvános IP-címen keresztül érhető el) vagy privát fürtként (ahol az API-kiszolgáló csak privát VNet-kapcsolaton keresztül érhető el). Üzembe helyezés nélkül válthat a nyilvános és a privát állapot között a fürtön.

Erőforráscsoport létrehozása

  • Hozzon létre egy erőforráscsoportot a az group create paranccsal.

    az group create --location westus2 --name <resource-group>
    

Nyilvános fürt üzembe helyezése

  • Nyilvános AKS-fürt üzembe helyezése API Server VNet-integrációval a felügyelt virtuális hálózatok számára, a az aks create parancs --enable-apiserver-vnet-integration kapcsolójának használatával.

    az aks create --name <cluster-name> \
        --resource-group <resource-group> \
        --location <location> \
        --network-plugin azure \
        --enable-apiserver-vnet-integration \
        --generate-ssh-keys
    

Privát fürt üzembe helyezése

  • Az API Server VNet-integrációval rendelkező privát AKS-fürt üzembe helyezése felügyelt VNet esetén a az aks create parancs --enable-apiserver-vnet-integration és --enable-private-cluster jelzőinek használatával.

    az aks create --name <cluster-name> \
        --resource-group <resource-group> \
        --location <location> \
        --network-plugin azure \
        --enable-private-cluster \
        --enable-apiserver-vnet-integration \
        --generate-ssh-keys
    

Egy privát AKS-klaszter létrehozása API Server VNet integrációval, saját VNet használatával

Saját virtuális hálózat használata esetén létre kell hoznia és delegálnia kell egy API-kiszolgálói alhálózatot Microsoft.ContainerService/managedClusters, amely az AKS szolgáltatás engedélyeit biztosítja az API-kiszolgáló podjainak és belső terheléselosztójának az alhálózatba történő injektálásához. Az alhálózatot más számítási feladatokhoz nem használhatja, de több, ugyanazon a virtuális hálózaton található AKS-fürthöz is használhatja. Az API-kiszolgáló alhálózatának minimális támogatott mérete a /28.

A fürt identitásának az API-kiszolgáló alhálózatához és a csomópont alhálózatához is engedélyekre van szüksége. Az API-kiszolgáló alhálózatának engedélyeinek hiánya kiépítési hibát okozhat.

Figyelmeztetés

Az AKS-fürt legalább 9 IP-címet foglal le az alhálózat címterében. Az IP-címek elfogyása megakadályozhatja az API-kiszolgálók skálázását, és az API-kiszolgáló leállását okozhatja.

Erőforráscsoport létrehozása

az group create --location <location> --name <resource-group>

Virtuális hálózat létrehozása

  1. Hozzon létre egy virtuális hálózatot a az network vnet create paranccsal.

    az network vnet create --name <vnet-name> \
    --resource-group <resource-group> \
    --location <location> \
    --address-prefixes 172.19.0.0/16
    
  2. Hozzon létre egy API-kiszolgáló alhálózatot a az network vnet subnet create paranccsal.

    az network vnet subnet create --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <apiserver-subnet-name> \
    --delegations Microsoft.ContainerService/managedClusters \
    --address-prefixes 172.19.0.0/28
    
  3. Hozzon létre egy klaszter alhálózatot a az network vnet subnet create paranccsal.

    az network vnet subnet create --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <cluster-subnet-name> \
    --address-prefixes 172.19.1.0/24
    

Felügyelt identitás létrehozása és engedélyek megadása a virtuális hálózaton

  1. Felügyelt identitás létrehozása a az identity create paranccsal.

    az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>
    
  2. Rendelje hozzá a hálózati közreműködői szerepkört az API-kiszolgáló alhálózatához a az role assignment create paranccsal.

    az role assignment create --scope <apiserver-subnet-resource-id> \
    --role "Network Contributor" \
    --assignee <managed-identity-client-id>
    
  3. Rendelje hozzá a hálózati közreműködői szerepkört a fürt alhálózatához a az role assignment create paranccsal.

    az role assignment create --scope <cluster-subnet-resource-id> \
    --role "Network Contributor" \
    --assignee <managed-identity-client-id>
    

Nyilvános fürt üzembe helyezése

  • Helyezzen üzembe egy nyilvános AKS-fürtöt API Server VNet-integrációval a az aks create jelölővel ellátott --enable-apiserver-vnet-integration paranccsal.

    az aks create --name <cluster-name> \
        --resource-group <resource-group> \
        --location <location> \
        --network-plugin azure \
        --enable-apiserver-vnet-integration \
        --vnet-subnet-id <cluster-subnet-resource-id> \
        --apiserver-subnet-id <apiserver-subnet-resource-id> \
        --assign-identity <managed-identity-resource-id> \
        --generate-ssh-keys
    

Privát fürt üzembe helyezése

  • Helyezzen üzembe egy privát AKS-fürtöt API Server VNet-integrációval a az aks create parancs használatával, a --enable-apiserver-vnet-integration és a --enable-private-cluster jelzőkkel.

    az aks create --name <cluster-name> \
    --resource-group <resource-group> \
    --location <location> \
    --network-plugin azure \
    --enable-private-cluster \
    --enable-apiserver-vnet-integration \
    --vnet-subnet-id <cluster-subnet-resource-id> \
    --apiserver-subnet-id <apiserver-subnet-resource-id> \
    --assign-identity <managed-identity-resource-id> \
    --generate-ssh-keys
    

Meglévő AKS-fürt API-szerver VNet-integrációvá alakítása

Figyelmeztetés

Az API Server VNet-integráció egy egyirányú, kapacitásérzékeny funkció.

  • Manuális újraindítás szükséges.
    Miután engedélyezte az API Server VNet-integrációt a az aks update --enable-apiserver-vnet-integration vezérlősík erőforrásának átállása miatt, a változások érvénybe lépéséhez azonnal újra kell indítania a fürtöt. Ez az újraindítás nem automatizált. Az újraindítás késleltetése növeli a kapacitás elérhetetlenné válásának kockázatát, ami megakadályozhatja az API-kiszolgáló indítását. A fürt újraindítása azt is biztosítja, hogy minden csomópont megbízhatóan csatlakozzon az új API-kiszolgálóvégponthoz.

  • A kapacitás érvényesítve van, de nincs fenntartva.
    Az AKS ellenőrzi a regionális kapacitást, amikor egy meglévő fürtön engedélyezi a funkciót, de ez az ellenőrzés nem foglalja le a kapacitást. Ha késik az újraindítás, és a kapacitás időközben elérhetetlenné válik, a fürt leállítása vagy újraindítása után előfordulhat, hogy nem sikerül elindulnia. Azok a fürtök, amelyek az általános rendelkezésre állás (GA) előtt engedélyezték ezt a funkciót, vagy amelyek az engedélyezés óta még nem lettek újraindítva, nem fognak kapacitás-ellenőrzésen átesni.

  • A funkció nem tiltható le.
    Ha engedélyezve van, a funkció végleges lesz. Az API Server VNet-integráció nem tiltható le.

Ez a frissítés egy csomópontrendszerkép-verziófrissítést hajt végre az összes csomópontkészleten, és újraindítja az összes számítási feladatot, miközben működés közbeni rendszerkép-frissítésen mennek keresztül.

Figyelmeztetés

A fürt API Server VNet-integrációvá alakítása az API Server IP-címének megváltoztatását eredményezi, bár a gazdagép neve változatlan marad. Ha az API-kiszolgáló IP-címe konfigurálva lett bármely tűzfalban vagy hálózati biztonsági csoport szabályaiban, előfordulhat, hogy ezeket a szabályokat frissíteni kell.

  • Frissítse a fürtöt az API Server VNet-integrációra a az aks update jelölővel ellátott --enable-apiserver-vnet-integration paranccsal.

    az aks update --name <cluster-name> \
    --resource-group <resource-group> \
    --enable-apiserver-vnet-integration \
    --apiserver-subnet-id <apiserver-subnet-resource-id>
    

Engedélyezze vagy letiltsa a privát fürtmódot egy meglévő fürtön az API-szerver VNet-integrációval.

A API Server VNet-integrációval konfigurált AKS-fürtök esetében a nyilvános hálózati hozzáférés vagy a privát fürt mód engedélyezhető vagy letiltható a fürt újbóli üzembe helyezése nélkül. Az API-kiszolgáló állomásneve nem változik, de a nyilvános DNS-bejegyzések szükség esetén módosulnak vagy törlődnek.

Megjegyzés:

--disable-private-cluster jelenleg előzetes verzióban érhető el. További információ: Referencia- és támogatási szintek.

A privát klaszter mód engedélyezése

  • Engedélyezze a privát fürt üzemmódot a az aks update jelölővel ellátott --enable-private-cluster paranccsal.

    az aks update --name <cluster-name> \
    --resource-group <resource-group> \
    --enable-private-cluster \
    --enable-apiserver-vnet-integration \
    --apiserver-subnet-id <apiserver-subnet-resource-id>
    

Magán fürt mód letiltása

  • Tiltsa le a privát fürt módot a az aks update paranccsal és a --disable-private-cluster flaggel.

    az aks update --name <cluster-name> \
    --resource-group <resource-group> \
    --disable-private-cluster
    

Csatlakozás klaszterhez a kubectl használatával

  • Állítsa be a kubectl-t, hogy csatlakozzon a fürthöz a az aks get-credentials paranccsal.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    

Egy privát fürt API-kiszolgálóvégpontja az API Server VNet-integrációval Azure Private Link használatával tehető elérhetővé. Az alábbi lépések bemutatják, hogyan hozhat létre egy Private Link szolgáltatást (PLS) a fürt virtuális hálózatában, és hogyan csatlakozhat hozzá egy másik virtuális hálózatról vagy előfizetésből egy privát végpont használatával.

Virtuális Hálózat (VNet) integrációval rendelkező API szerver privát fürt létrehozása

  • Hozzon létre egy privát AKS-fürtöt az API Server VNet integrációjával a az aks create parancs, valamint a --enable-apiserver-vnet-integration és --enable-private-cluster kapcsolók használatával.

    az aks create --name <cluster-name> \
        --resource-group <resource-group> \
        --location <location> \
        --enable-private-cluster \
        --enable-apiserver-vnet-integration
    

Az PRIVATE LINK API Server VNet-integrációval való beállításával kapcsolatos további útmutatásért lásd: Private Link API Server VNet Integration.

NSG biztonsági szabályok

A virtuális hálózaton belüli összes forgalom alapértelmezés szerint engedélyezett. Ha azonban NSG-szabályokat adott hozzá a különböző alhálózatok közötti forgalom korlátozásához, győződjön meg arról, hogy az NSG biztonsági szabályai lehetővé teszik a következő típusú kommunikációt:

Úti cél Forrás Protokoll Kikötő Használd
API szerver alhálózat CIDR Klaszter alhálózat TCP 443 és 4443 A csomópontok és az API-kiszolgáló közötti kommunikáció engedélyezéséhez szükséges.
API szerver alhálózat CIDR Azure terheléselosztó TCP 9988 A Azure Load Balancer és az API-kiszolgáló közötti kommunikáció engedélyezéséhez szükséges. A Azure Load Balancer és az API Server CIDR alhálózata közötti kommunikációt is engedélyezheti.

Következő lépések