Privát Azure Kubernetes Service- (AKS-) fürt létrehozása

Magánfürtökben a vezérlősík vagy az API-kiszolgáló belső IP-címeket használ, amelyeket a RFC1918 – Privát internetes dokumentum címfoglalása című témakörben definiáltak. Privát fürt használatával biztosíthatja, hogy az API-kiszolgáló és a csomópontkészletek közötti hálózati forgalom a privát hálózaton maradjon.

A vezérlősík vagy az API-kiszolgáló egy Azure Kubernetes Service (AKS) által felügyelt Azure-erőforráscsoportban található. A fürt- vagy csomópontkészlet az erőforráscsoportban található. A kiszolgáló és a fürt vagy a csomópontkészlet az AZURE Private Link szolgáltatáson keresztül kommunikálhat egymással az API-kiszolgáló virtuális hálózatában, valamint egy privát végponton keresztül, amely az AKS-fürt alhálózatán érhető el.

Privát AKS-fürt kiépítésekor az AKS alapértelmezés szerint létrehoz egy privát teljes tartománynevet (FQDN-t) a privát DNS-zónával, valamint egy másik, nyilvános FQDN-t az Azure nyilvános DNS-ében lévő megfelelő A-rekorddal. Az ügynökcsomópontok továbbra is a privát DNS-zónában lévő A rekordot használják a privát végpont privát IP-címének feloldásához az API-kiszolgálóval való kommunikációhoz.

A cikk célja, hogy segítsen egy privát kapcsolatalapú AKS-fürt üzembe helyezésében. Ha a szükséges privát kapcsolat vagy alagút nélkül szeretne AKS-fürtöt létrehozni, tekintse meg egy Azure Kubernetes Service-fürt létrehozását API Server VNet Integration (előzetes verzió) használatával.

Régiónkénti elérhetőség

A privát fürt nyilvános régiókban, az Azure Governmentben és a Microsoft Azure-ban érhető el, amelyeket 21Vianet-régiók üzemeltetnek, ahol az AKS támogatott.

Előfeltételek

  • Az Azure CLI 2.28.0-s vagy újabb verziója. Futtassa az --version a verziót, és futtassa az upgrade a verzió frissítéséhez. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.
  • A aks-preview 0.5.29-ös vagy újabb bővítmény.
  • Ha az Azure Resource Managert (ARM) vagy az Azure REST API-t használja, az AKS API-verziónak 2021-05-01-es vagy újabbnak kell lennie.
  • Az Azure Private Link szolgáltatást csak a Standard Azure Load Balancer támogatja. Az alapszintű Azure Load Balancer nem támogatott.
  • Egyéni DNS-kiszolgáló használatához adja hozzá az Azure 168.63.129.16 nyilvános IP-címét az egyéni DNS-kiszolgáló felsőbb rétegbeli DNS-kiszolgálójaként, és győződjön meg arról, hogy ezt a nyilvános IP-címet adja hozzá első DNS-kiszolgálóként. További információ az Azure IP-címéről: Mi az IP-cím 168.63.129.16?
    • A fürt DNS-zónájának a 168.63.129.16-ra kell továbbítania. A zónanevekről az Azure-szolgáltatások DNS-zónakonfigurációjában talál további információt.

Feljegyzés

Az Azure Linux-csomópontkészlet általánosan elérhető (GA). Az előnyökről és az üzembe helyezés lépéseiről az AKS-hez készült Azure Linux Container Host bemutatása című témakörben olvashat.

Korlátozások

  • Az ENGEDÉLYEZETT IP-tartományok nem alkalmazhatók a privát API-kiszolgálóvégpontra, csak a nyilvános API-kiszolgálóra vonatkoznak
  • Az Azure Private Link szolgáltatás korlátozásai a privát fürtökre vonatkoznak.
  • Magánfürtökkel rendelkező Azure DevOps Microsoft által üzemeltetett ügynökök nem támogatottak. Fontolja meg a saját üzemeltetésű ügynökök használatát.
  • Ha engedélyeznie kell az Azure Container Registryt egy privát AKS-fürttel való együttműködéshez, állítson be egy privát kapcsolatot a tárolóregisztrációs adatbázishoz a fürt virtuális hálózatában, vagy állítson be társviszonyt a Tárolóregisztrációs adatbázis virtuális hálózata és a privát fürt virtuális hálózata között.
  • A meglévő AKS-fürtök privát fürtökké alakítása nem támogatott.
  • Ha törli vagy módosítja a privát végpontot az ügyfél-alhálózatban, a fürt működése leáll.

Privát AKS-fürt létrehozása

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot a az group create paranccsal. Az AKS-fürthöz egy meglévő erőforráscsoportot is használhat.

az group create -l eastus -n myResourceGroup

Alapértelmezett alapszintű hálózatkezelés

Hozzon létre egy alapértelmezett alapszintű hálózatkezeléssel rendelkező privát fürtöt a az aks create jelölővel ellátott --enable-private-cluster paranccsal.

az aks create -n <private-cluster-name> -g <private-cluster-resource-group> --load-balancer-sku standard --enable-private-cluster  

Speciális hálózatkezelés

Hozzon létre egy speciális hálózatkezeléssel rendelkező privát fürtöt a az aks create következő jelzőkkel rendelkező paranccsal:

az aks create \
    --resource-group <private-cluster-resource-group> \
    --name <private-cluster-name> \
    --load-balancer-sku standard \
    --enable-private-cluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 

Egyéni tartományok használata

Ha olyan egyéni tartományokat szeretne konfigurálni, amelyek csak belsőleg oldhatók fel, olvassa el az Egyéni tartományok használata című témakört.

Nyilvános teljes tartománynév letiltása

Nyilvános teljes tartománynév letiltása új AKS-fürtön

Nyilvános teljes tartománynév letiltása privát AKS-fürt létrehozásakor a --disable-public-fqdn jelölő használatával.

az aks create -n <private-cluster-name> -g <private-cluster-resource-group> --load-balancer-sku standard --enable-private-cluster --enable-managed-identity --assign-identity <resourceID> --private-dns-zone <private-dns-zone-mode> --disable-public-fqdn

Nyilvános teljes tartománynév letiltása meglévő fürtön

Tiltson le egy nyilvános teljes tartománynevet egy meglévő AKS-fürtön a az aks update jelölővel ellátott --disable-public-fqdn paranccsal.

az aks update -n <private-cluster-name> -g <private-cluster-resource-group> --disable-public-fqdn

Privát DNS-zóna konfigurálása

A privát DNS-zónákat a következő paraméterekkel konfigurálhatja:

  • rendszer: Ez az alapértelmezett érték. Ha az argumentum nincs megadva, az --private-dns-zone AKS létrehoz egy privát DNS-zónát a csomópont erőforráscsoportjában.
  • nincs: Az alapértelmezett a nyilvános DNS. Az AKS nem hoz létre privát DNS-zónát.
  • CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID: Ehhez létre kell hoznia egy privát DNS-zónát a következő formátumban az Azure globális felhőhöz: privatelink.<region>.azmk8s.io vagy <subzone>.privatelink.<region>.azmk8s.io. A jövőbeni használathoz szüksége lesz a privát DNS-zóna erőforrás-azonosítójára. Szüksége van egy felhasználó által hozzárendelt identitásra vagy szolgáltatásnévre is, amely rendelkezik a saját DNS zóna közreműködői és hálózati közreműködői szerepkörével. Az API-kiszolgáló virtuális hálózatok integrációjával történő üzembe helyezéskor a privát DNS-zóna támogatja az elnevezési formátumot private.<region>.azmk8s.io vagy <subzone>.private.<region>.azmk8s.ioa .
    • Ha a privát DNS-zóna más előfizetésben van, mint az AKS-fürt, mindkét előfizetésben regisztrálnia kell a Microsoft.ContainerServices Azure-szolgáltatót.
    • A "fqdn-subdomain" csak a "CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID" altartomány-képességek biztosításához privatelink.<region>.azmk8s.iohasználható.
    • Ha az AKS-fürt Active Directory-szolgáltatásnévvel van konfigurálva, az AKS nem támogatja a rendszer által hozzárendelt felügyelt identitás egyéni privát DNS-zónával való használatát.
    • Ha 32 karakteres korlátot <subzone> ad meg a <subzone> névhez.

Feljegyzés

CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID arm-sablonnal konfigurálható az Azure CLI mellett. privateDNSZone elfogadja a privát DNZ-zóna resourceID azonosítóját az alábbi példában látható módon:

properties.apiServerAccessProfile.privateDNSZone.
"apiServerAccessProfile": {
"enablePrivateCluster": true,
"privateDNSZone": "system|none|[resourceId(..., 'Microsoft.Network/privateDnsZones', 'privatelink.<region>.azmk8s.io']"
}

Fontos

A CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID a fürt létrehozása után nem módosítható, és nem törölhető. Ellenkező esetben a fürtnél problémák lépnek fel a frissítési műveletek végrehajtásakor.

Privát AKS-fürt létrehozása privát DNS-zónával

Hozzon létre egy privát AKS-fürtöt egy privát DNS-zónával a az aks create következő jelzőkkel ellátott paranccsal:

az aks create -n <private-cluster-name> -g <private-cluster-resource-group> --load-balancer-sku standard --enable-private-cluster --enable-managed-identity --assign-identity <resourceID> --private-dns-zone [system|none]

Privát AKS-fürt létrehozása egyéni privát DNS-zónával vagy privát DNS-alzónával

Hozzon létre egy privát AKS-fürtöt egy egyéni privát DNS-zónával vagy alzónával a az aks create következő jelzőkkel ellátott paranccsal:

# The custom private DNS zone name should be in the following format: "<subzone>.privatelink.<region>.azmk8s.io"

az aks create -n <private-cluster-name> -g <private-cluster-resource-group> --load-balancer-sku standard --enable-private-cluster --enable-managed-identity --assign-identity <resourceID> --private-dns-zone <custom private dns zone or custom private dns subzone resourceID>

Privát AKS-fürt létrehozása egyéni privát DNS-zónával és egyéni altartományral

Hozzon létre egy privát AKS-fürtöt egy egyéni privát DNS-zónával és altartományral a az aks create következő jelzőkkel rendelkező paranccsal:

# The custom private DNS zone name should be in one of the following formats: "privatelink.<region>.azmk8s.io" or "<subzone>.privatelink.<region>.azmk8s.io"

az aks create -n <private-cluster-name> -g <private-cluster-resource-group> --load-balancer-sku standard --enable-private-cluster --enable-managed-identity --assign-identity <resourceID> --private-dns-zone <custom private dns zone resourceID> --fqdn-subdomain <subdomain>

Privát fürt frissítése privát DNS-zónából nyilvánosra

Feljegyzés

Ehhez a funkcióhoz a aks-preview bővítmény verziója >= 0.5.97 szükséges

Frissítsen egy privát fürtöt a következő jelölőkkel a parancsról byo vagy systemnone a az aks update parancs használatára:

az aks update -n <private-cluster-name> -g <private-cluster-resource-group> --private-dns-zone none

Feljegyzés

Csak innen byo vagy system onnan nonefrissíthet. A frissítési értékek más kombinációja nem támogatott.

A privát fürthöz csatlakozás lehetőségei

Az API-kiszolgáló végpontja nem rendelkezik nyilvános IP-címmel. Az API-kiszolgáló kezeléséhez olyan virtuális gépet kell használnia, amely hozzáfér az AKS-fürt Azure-beli virtuális hálózatához (VNet). A privát fürthöz való hálózati kapcsolat létrehozásának számos lehetősége van:

Feljegyzés

A legegyszerűbb megoldás, ha ugyanabban a virtuális hálózatban hoz létre virtuális gépet, mint az AKS-fürt. Az Express Route és a VPN-ek növelik a költségeket, és további hálózatkezelést igényelnek. A virtuális hálózatok közötti társviszony-létesítéshez meg kell terveznie a hálózati CIDR-tartományokat, hogy ne legyenek átfedésben.

Virtuális hálózati társviszony

A virtuális hálózatok közötti társviszony-létesítés az egyik módja a privát fürt elérésének. A virtuális hálózatok közötti társviszony-létesítés használatához be kell állítania egy kapcsolatot a virtuális hálózat és a privát DNS-zóna között.

  1. Nyissa meg a böngészőjében az Azure Portalt.
  2. Az Azure Portalon lépjen a csomópont erőforráscsoportjához.
  3. Válassza ki a privát DNS-zónát.
  4. A bal oldali panelen válassza a Virtuális hálózat lehetőséget.
  5. Hozzon létre egy új hivatkozást a virtuális gép virtuális hálózatának a privát DNS-zónához való hozzáadásához. Néhány percig tart, amíg elérhetővé válik a DNS-zónahivatkozás.
  6. Az Azure Portalon keresse meg a fürt virtuális hálózatát tartalmazó erőforráscsoportot.
  7. A jobb oldali panelen válassza ki a virtuális hálózatot. A virtuális hálózat neve aks-vnet-*formában található.
  8. A bal oldali panelen válassza a Társviszonyok lehetőséget.
  9. Válassza a Hozzáadás lehetőséget, adja hozzá a virtuális gép virtuális hálózatát, majd hozza létre a társviszony-létesítést. További információ: Virtuális hálózatok közötti társviszony-létesítés.

Küllős és küllős egyéni DNS-lel

A küllős architektúrákat gyakran használják hálózatok azure-beli üzembe helyezéséhez. Ezen üzemelő példányok közül sokban a küllős virtuális hálózatok DNS-beállításai úgy vannak konfigurálva, hogy egy központi DNS-továbbítóra hivatkozhassanak, hogy lehetővé tegyék a helyszíni és az Azure-alapú DNS-feloldásokat. Ha AKS-fürtöt helyez üzembe egy ilyen hálózati környezetben, van néhány speciális szempont:

Private cluster hub and spoke

  • Privát fürt kiépítésekor a rendszer alapértelmezés szerint létrehoz egy privát végpontot (1) és egy privát DNS-zónát (2) a fürt által felügyelt erőforráscsoportban. A fürt egy A privát zónában lévő rekordot használ a privát végpont IP-címének feloldásához az API-kiszolgálóval való kommunikációhoz.
  • A privát DNS-zóna csak ahhoz a virtuális hálózathoz van csatolva, amelyhez a fürtcsomópontok csatlakoznak (3). Ez azt jelenti, hogy a privát végpontot csak az adott társított virtuális hálózat gazdagépei oldhatják fel. Azokban az esetekben, amikor nincs egyéni DNS konfigurálva a virtuális hálózaton (alapértelmezett), ez probléma nélkül működik, mivel a DNS 168.63.129.16-os gazdapontjaként működik, amely a kapcsolat miatt meg tudja oldani a privát DNS-zónában lévő rekordokat.
  • Olyan esetekben, amikor a fürtöt tartalmazó virtuális hálózat egyéni DNS-beállításokkal rendelkezik (4), a fürt üzembe helyezése meghiúsul, hacsak a privát DNS-zóna nem kapcsolódik az egyéni DNS-feloldókat tartalmazó virtuális hálózathoz (5). Ezt a hivatkozást manuálisan is létrehozhatja, miután a privát zóna létrejött a fürt kiépítése során, vagy automatizálással, amikor észleli a zóna eseményalapú üzembe helyezési mechanizmusokkal (például az Azure Event Grid és az Azure Functions) történő létrehozását. A fürt kezdeti üzembe helyezése során fellépő hiba elkerülése érdekében a fürt üzembe helyezhető a privát DNS-zóna erőforrás-azonosítójával. Ez csak az erőforrástípussal Microsoft.ContainerService/managedCluster és az API-verzióval 2022-07-01működik. A régebbi verzió ARM-sablonnal vagy Bicep-erőforrásdefinícióval való használata nem támogatott.

Feljegyzés

A feltételes továbbítás nem támogatja az altartományokat.

Feljegyzés

Ha saját útvonaltáblát használ a Kubenettel, és saját DNS-t hoz magánfürtökkel, a fürt létrehozása sikertelen lesz. A csomópont erőforráscsoportját az alhálózathoz kell társítania RouteTable , miután a fürt létrehozása nem sikerült a létrehozás sikeressé tétele érdekében.

Privát végpontkapcsolat használata

A privát végpontok beállíthatók úgy, hogy a virtuális hálózatot ne kell társviszonyba helyezni a privát fürttel való kommunikációhoz. Privát végpont használatához hozzon létre egy új privát végpontot a virtuális hálózaton, majd hozzon létre egy kapcsolatot a virtuális hálózat és egy új privát DNS-zóna között.

Fontos

Ha a virtuális hálózat egyéni DNS-kiszolgálókkal van konfigurálva, a privát DNS-t megfelelően kell beállítani a környezethez. További részletekért tekintse meg a virtuális hálózatok névfeloldási dokumentációját .

Privát végponterőforrás létrehozása

Hozzon létre egy privát végponterőforrást a virtuális hálózaton:

  1. Nyissa meg a böngészőjében az Azure Portalt.
  2. Az Azure Portal menüjében válassza az Erőforrás létrehozása elemet.
  3. Keresse meg a privát végpontot, és válassza a Privát végpont létrehozása lehetőséget>.
  4. Válassza a Létrehozás lehetőséget.
  5. Az Alapok lapon adja meg a következő beállításokat:
    • Projekt részletei:
      • Válasszon ki egy Azure-előfizetést.
      • Válassza ki azt az Azure-erőforráscsoportot, amelyben a virtuális hálózat található.
    • Példány részletei:
      • Adjon meg egy nevet a privát végpontnak, például a myPrivateEndpointnak.
      • Válasszon egy régiót a privát végponthoz.

Fontos

Ellenőrizze, hogy a kijelölt régió megegyezik-e azzal a virtuális hálózattal, ahonnan csatlakozni szeretne, ellenkező esetben a virtuális hálózat nem jelenik meg a Konfiguráció lapon.

  1. Válassza a Tovább: Erőforrás lehetőséget , és adja meg a következő beállításokat:
    • Csatlakozás ion metódus: Válassza ki a címtáramban lévő Azure-erőforrás Csatlakozás.
    • Előfizetés: Válassza ki azt az előfizetést, amelyben a privát fürt található.
    • Erőforrás típusa: Válassza a Microsoft.ContainerService/managedClusters lehetőséget.
    • Erőforrás: Válassza ki a privát fürtöt.
    • Cél alerőforrás: Felügyelet kiválasztása.
  2. Válassza a Tovább: Virtuális hálózat lehetőséget, és adja meg a következő beállításokat:
    • Hálózatkezelés:
      • Virtuális hálózat: Válassza ki a virtuális hálózatot.
      • Alhálózat: Válassza ki az alhálózatot.
  3. Válassza a Következő: DNS>Tovább: Címkék és (opcionálisan) a kulcsértékek igény szerinti beállítását.
  4. Válassza a Tovább elemet: Áttekintés és létrehozás>.

Az erőforrás létrehozása után jegyezze fel a privát végpont privát IP-címét későbbi használatra.

Privát DNS-zóna létrehozása

A privát végpont létrehozása után hozzon létre egy új privát DNS-zónát ugyanazzal a névvel, mint a privát fürt által létrehozott privát DNS-zóna:

  1. Nyissa meg a csomópont erőforráscsoportját az Azure Portalon.
  2. Válassza ki a privát DNS-zónát és rekordot:
    • A privát DNS-zóna neve, amely a mintát *.privatelink.<region>.azmk8s.ioköveti.
    • A rekord neve (a A privát DNS-név kivételével).
    • Az élettartam (TTL).
  3. Az Azure Portalon válassza az Erőforrás létrehozása lehetőséget.
  4. Keresse meg saját DNS zónát, és válassza a Create saját DNS zone (Saját DNS zóna létrehozása > ) lehetőséget.
  5. Az Alapok lapon adja meg a következő beállításokat:
    • Projekt részletei:
      • Válassza ki az előfizetését.
      • Válassza ki azt az erőforráscsoportot , amelyben létrehozta a privát végpontot.
    • Példány részletei:
      • Adja meg az előző lépésekből lekért DNS-zóna nevét .
      • A régió alapértelmezés szerint az erőforráscsoport helyére van beállítva.
  6. Válassza a Felülvizsgálat + létrehozás>Létrehozás lehetőséget.

A Rekord létrehozása

A privát DNS-zóna létrehozása után hozzon létre egy A rekordot, amely a privát végpontot a privát fürthöz társítja:

  1. Lépjen az előző lépésekben létrehozott privát DNS-zónára.
  2. Az Áttekintés lapon válassza a Rekordhalmaz lehetőséget.
  3. A Rekordkészlet hozzáadása lapon adja meg a következő beállításokat:
    • Név: Adja meg a privát fürt DNS-zónájában lévő rekordból A lekért nevet.
    • Típus: Válassza az A – Cím rekordot.
    • TTL: Adja meg a A privát fürt DNS-zónájában lévő rekord számát.
    • TTL-egység: Módosítsa a legördülő értéket úgy, hogy az megfeleljen a A privát fürt DNS-zónájában lévő rekordnak.
    • IP-cím: Adja meg a létrehozott privát végpont IP-címét.

Fontos

A A rekord létrehozásakor csak a nevet használja, a teljes tartománynevet (FQDN) nem.

A A rekord létrehozása után kapcsolja össze a privát DNS-zónát a privát fürthöz hozzáférő virtuális hálózathoz:

  1. Lépjen az előző lépésekben létrehozott privát DNS-zónára.
  2. A bal oldali panelen válassza a Virtuális hálózati kapcsolatok lehetőséget.
  3. Válassza a Hozzáadás lehetőséget, és adja meg a következő beállításokat:
    • Hivatkozás neve: Adja meg a virtuális hálózati kapcsolat nevét.
    • Előfizetés: Válassza ki azt az előfizetést, amelyben a privát fürt található.
    • Virtuális hálózat: Válassza ki a privát fürt virtuális hálózatát.
  4. Kattintson az OK gombra a hivatkozás létrehozásához.

A művelet végrehajtása eltarthat néhány percig. A virtuális hálózati kapcsolat létrehozása után a 2. lépésben használt Virtuális hálózati kapcsolatok lapon érheti el.

Figyelmeztetés

Ha a privát fürt leáll és újraindul, a privát fürt eredeti privát kapcsolati szolgáltatása törlődik és újra létrejön, ami megszakítja a privát végpont és a privát fürt közötti kapcsolatot. A probléma megoldásához törölje és hozza létre újra a privát fürthöz társított, felhasználó által létrehozott privát végpontokat. Ha az újra létrehozott privát végpontok új IP-címekkel rendelkeznek, frissítenie kell a DNS-rekordokat is.

Következő lépések

A kapcsolódó ajánlott eljárásokért tekintse meg a hálózati kapcsolatokra és a biztonságra vonatkozó ajánlott eljárásokat az AKS-ben.