Kubernetes-fürt üzembe helyezése egyéni virtuális hálózaton az Azure Stack Hubon

Kubernetes-fürtöt a Azure Kubernetes Service (AKS) motorral helyezhet üzembe egy egyéni virtuális hálózaton. Ez a cikk a virtuális hálózatban szükséges információk megkeresését ismerteti. Megtalálhatja a fürt által használt IP-címek kiszámításának lépéseit, az API-modellben lévő értékeket, valamint az útvonaltáblát és a hálózati biztonsági csoportot.

Az Azure Stack Hubban található Kubernetes-fürt AKS-motorral a Kubenet hálózati beépülő modult használja. Az Azure Stack Hub AKS-motorja az Azure CNI hálózati beépülő modult is támogatja.

Korlátozások egyéni virtuális hálózat létrehozásakor

  • Az egyéni virtuális hálózatnak ugyanabban az előfizetésben kell lennie, mint a Kubernetes-fürt összes többi összetevőjének.
  • A vezérlősík csomópontkészletének és az ügynökcsomópontok készletének ugyanabban a virtuális hálózatban kell lennie. A csomópontokat ugyanazon a virtuális hálózaton belül különböző alhálózatokon helyezheti üzembe.
  • A Kubernetes-fürt alhálózatának ip-tartományt kell használnia az egyéni virtuális hálózati IP-címtartományon belül. Lásd : Az IP-címblokk lekérése.
  • Vegye figyelembe, hogy a csomópont-alhálózat(ok) javasolt mérete a használt hálózati beépülő modul típusától függ. Általános iránymutatásként az Azure CNI az ügynökcsomópontkészleteket támogató alhálózathoz több IP-címet igényel, mint a kubenet. Tekintse meg az alábbi kubenet - és Azure CNI-példákat .
  • Előfordulhat, hogy a 169.254.0.0/16 címtér nem használható egyéni VNET-ekhez Kubernetes-fürtökhöz.

Egyéni virtuális hálózat létrehozása

Az Azure Stack Hub-példányban egyéni virtuális hálózatnak kell lennie. További információ: Rövid útmutató: Virtuális hálózat létrehozása a Azure Portal használatával.

Hozzon létre egy új alhálózatot a virtuális hálózatban. Be kell szereznie az alhálózat erőforrás-azonosítóját és IP-címtartományát. A fürt üzembe helyezésekor az API-modell erőforrás-azonosítóját és tartományát fogja használni.

  1. Nyissa meg az Azure Stack Hub felhasználói portálját az Azure Stack Hub-példányban.

  2. Válassza a Minden erőforrás elemet.

  3. Írja be a virtuális hálózat nevét a keresőmezőbe.

  4. Alhálózat hozzáadásához válassza az Alhálózatok>+ Alhálózatok lehetőséget.

  5. Adjon hozzá egy nevet és egy címtartományt CIDR-jelöléssel. Válassza az OK lehetőséget.

  6. Válassza a Tulajdonságok lehetőséget a Virtuális hálózatok panelen. Másolja ki az erőforrás-azonosítót, majd adja hozzá a következőt /subnets/<nameofyoursubnect>: . Ezt az értéket fogja használni a vnetSubnetId fürt API-modelljében található kulcs értékeként. Az alhálózat erőforrás-azonosítója a következő formátumot használja:
    /subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/virtualNetworks/VNET_NAME/subnets/SUBNET_NAME

    virtuális hálózat erőforrás-azonosítója

  7. Válassza az Alhálózatok lehetőséget a Virtuális hálózatok panelen. Válassza ki például az alhálózat nevét control-plane-sn.

    Ne társítsa az alhálózatot hálózati biztonsági csoporthoz (NSG).

    virtuális hálózat CIDR-blokkja

  8. Az alhálózat panelen jegyezze fel az egyes alhálózatok címtartományát (CIDR-blokkját).

A címtér kiválasztásával kapcsolatos szempontok

Egyéni virtuális hálózat létrehozásakor meg kell adnia a hálózat IP-címterét és minden alhálózat IP-címtartományát. A Kubernetes-fürtben használni kívánt címterek és tartományok kiválasztásakor vegye figyelembe a következő tényezőket:

  • Az egymást átfedő címterek IP-címütközéseket vagy kommunikációs hibákat eredményezhetnek. Az átfedő IP-címek kockázatának csökkentése érdekében válasszon egy egyedi címteret az új virtuális hálózat számára.
  • A , 172.16/12és 192.168/16 tartomány címtereit 10/8gyakran használják magánhálózatokhoz, és a meglévő adatközpont-infrastruktúra is használhatja őket. Ha a Kubernetes-alkalmazások erőforrásokat használnak az adatközpontban, csökkentse az ütközések kockázatát, ha olyan címteret választ az egyéni virtuális hálózat számára, amely eltér az adatközpont címterétől.
  • Javasoljuk, hogy használjon dedikált alhálózatot a Kubernetes-fürthöz.
  • Ha több meglévő virtuális hálózatot használ, fontolja meg a különböző címterek használatát az egyes hálózatokon, ha virtuális hálózatok közötti társviszony-létesítést kíván használni. Az átfedésben lévő címterek ronthatják a társviszony-létesítés engedélyezésének képességét.

Az IP-címblokkok lekérése

Az AKS-motor támogatja az üzembe helyezést egy meglévő virtuális hálózaton. Meglévő virtuális hálózaton való üzembe helyezéskor a fürt egymást követő címblokkokat használ az ügynökcsomópontokhoz, a vezérlősík csomópontjaihoz, a fürtszolgáltatásokhoz és a tárolókhoz (podokhoz). Minden címblokk lefordítható egy alhálózatra a virtuális hálózaton belül. A fürt üzembe helyezésének minden címblokkjának a teljes virtuális hálózati címtér részét kell képeznie. A virtuális hálózati címtéren kívüli címblokkok kiválasztása csatlakozási problémákat okozhat.

Kubernetes-fürt beállításakor legalább három címblokkra van szükség:

  • Csomópontok címterülete: Ez a címterület a fürtcsomópontokhoz való címek hozzárendeléséhez használatos. Ez lehet egyetlen címblokk az összes fürtcsomóponthoz, vagy különálló blokkok (alhálózatok) lehetnek a vezérlősíkhoz és az ügynökkészletekhez. A blokk címtartományának kiválasztásakor vegye figyelembe a fürt csomópontszámát. Az Azure CNI-csomópontok és -tárolók címeit ugyanabból a címblokkból szerzik be, így figyelembe kell venni a fürtön üzembe helyezni kívánt tárolók számát az Azure CNI használatakor a címtartomány kiválasztásakor.
  • Szolgáltatások címblokkja: Ez az a címterület, amelyről a Kubernetes-fürtön üzembe helyezett szolgáltatások megkapják a fürtcímüket. A blokk címtartományának kiválasztásakor vegye figyelembe a fürtön futtatni kívánt szolgáltatások maximális számát.
  • Fürtcímblokk: Ez az a címterület, amelyről a podok megkapják a fürtcímüket. A blokk címtartományának kiválasztásakor vegye figyelembe a fürtön futtatni kívánt podok maximális számát. Ahogy korábban említettük, az Azure CNI esetében a fürt és a csomópontok címblokkjai megegyeznek.

A címblokkok mellett a vezérlősík csomópontjaihoz két további értéket is be kell állítania. Tudnia kell, hogy hány IP-címet kell lefoglalnia a fürt számára, és az első egymást követő statikus IP-címet az alhálózati IP-területen belül. Az AKS-motor legfeljebb 16 nem használt IP-címet igényel, ha több vezérlősík-csomópontot használ. A fürt egy IP-címet fog használni minden vezérlősíkhoz legfeljebb öt vezérlősík-csomóponthoz. Az AKS-motornak szüksége lesz a következő 10 IP-címre is az utolsó vezérlősík-csomópont után a helyiség IP-címfoglalásához. Végül a terheléselosztó egy másik IP-címet fog használni a vezérlősík csomópontjai és a helyiségfoglalás után, összesen 16-ra. Az IP-címek blokkjának elhelyezésekor az alhálózathoz a meglévő IP-címek következő lefoglalására van szükség:

  • Az első négy IP-cím és az utolsó IP-cím foglalt, és nem használható egyetlen Azure-alhálózaton sem.
  • Egy 16 IP-címből álló puffert nyitva kell hagyni.
  • Az IP-ütközések elkerülése érdekében a fürt első IP-címének a címtér vége felé kell lennie. Ha lehetséges, rendelje hozzá a firstConsecutiveStaticIP tulajdonságot egy IP-címhez az alhálózat rendelkezésre álló IP-címtartományának vége közelében.

Például egy három vezérlősík-csomóponttal rendelkező fürt esetében. Ha 256 címmel (például 10.100.0.0/24) rendelkező alhálózatot használ, az első egymást követő statikus IP-címet 239 előtt kell beállítania. Az alábbi táblázat a címeket és szempontokat mutatja be:

A /24 alhálózat tartománya Szám Megjegyzés
172.100.0.0 - 172.100.0.3 4 Az Azure-alhálózatban van fenntartva.
172.100.0.224-172.100.0.238 14 Egy AKS-motor által definiált fürt IP-címeinek száma.

3 IP-cím 3 vezérlősík-csomóponthoz
10 IP-cím a fejtérhez
1 IP-cím a terheléselosztóhoz
172.100.0.238 - 172.100.0.254 16 16 IP-címpuffer.
172.100.0.255 1 Az Azure-alhálózatban van fenntartva.

Ebben a példában a firstConsecutiveStaticIP tulajdonság a következő: 172.100.0.224.

Nagyobb alhálózatok, például a /16 esetében, amelyek több mint 60 ezer címmel rendelkeznek, nem feltétlenül célszerű a statikus IP-hozzárendeléseket a hálózati terület végére állítani. Állítsa be a fürt statikus IP-címtartományát az IP-címtartomány első 24 címétől távol, hogy a fürt rugalmas legyen a címek igénylése során.

Példa Kubenet-címblokkok

Az alábbi példában láthatja, hogy ezek a különböző szempontok hogyan töltik ki egy fürt virtuális hálózatának címterét a kubenet hálózati beépülő modullal, dedikált alhálózatokkal a vezérlősík csomópontja és az ügynökcsomópontkészletek készletenként három csomóponttal.

VNET-címtér: 10.100.0.0/16.

Címterület (alhálózat) CIDR IP-címtartomány IP-címek száma (elérhető)
Vezérlősíkcsomópontok blokkja 10.100.0.0/24 10.100.0.0 - 10.100.0.255 255 – 4 fenntartott = 251
Ügynökcsomópontok blokkolása 10.100.1.0/24 10.100.1.0 - 10.100.1.255 255 – 4 fenntartott = 251
Szolgáltatásblokk 10.100.16.0/20 10.100.16.0 - 10.100.31.255 4 096 – 5 fenntartott = 4 091
Fürtblokk 10.100.128.0/17 10.100.128.0 - 10.100.255.255 32 768 – 5 fenntartott = 32 763

Ebben a példában a firstConsecutiveStaticIP tulajdonság a következő: 10.100.0.239.

Azure CNI-címblokkok – példa

Az alábbi példában láthatja, hogy ezek a különböző szempontok hogyan töltik ki egy fürt virtuális hálózatának címterét az Azure CNI hálózati beépülő modullal, dedikált alhálózatokkal a vezérlősíkhoz és az ügynökcsomópontkészletekhez készletenként három csomóponttal.

VNET-címtér: 172.24.0.0/16.

Megjegyzés

Ha a környezetében a nyilvános IP-címtartomány a CIDR10.0.0.0/8 tartományon belül van, használja a kubenet hálózati beépülő modult.

Címterület (alhálózat) CIDR IP-címtartomány IP-címek száma (elérhető)
Vezérlősíkcsomópontok blokkja 172.24.0.0/24 172.24.0.0 - 172.24.0.255 255 – 4 fenntartott = 251
Ügynökcsomópontok & fürtblokk 172.24.128.0/17 172.24.128.0 - 172.24.255.255 32 768 – 5 fenntartott = 32 763
Szolgáltatásblokk 172.24.16.0/20 172.24.16.0 - 172.24.31.255 4 096 – 5 fenntartott = 4 091

Ebben a példában a firstConsecutiveStaticIP tulajdonság a következő: 172.24.0.239.

Az API-modell frissítése

Frissítse a fürt AKS-motorból az egyéni virtuális hálózatra való üzembe helyezéséhez használt API-modellt.

A masterProfile-ban állítsa be a következő értékeket:

Mező Példa Leírás
vnetSubnetId /subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/control-plane-sn Adja meg az Alhálózat Azure Resource Manager elérési útját. Ez az érték megfelelteti a fenti vezérlősík-csomópontok címblokkját.
firstConsecutiveStaticIP 10.100.0.239 Rendeljen hozzá egy IP-címet a firstConsecutiveStaticIP konfigurációs tulajdonsághoz, amely a kívánt alhálózaton elérhető IP-címtartomány végén található. firstConsecutiveStaticIP csak a vezérlősík csomópontkészletére vonatkozik.

Az agentPoolProfilesban állítsa be a következő értékeket:

Mező Példa Leírás
vnetSubnetId /subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/agents-sn Adja meg az Alhálózat Azure Resource Manager elérési útját. Ez az érték megfelelteti a fenti ügynökcsomópontok címblokkjának.

Az orchestratorProfile-ban keresse meg a kubernetesConfig elemet , és állítsa be a következő értéket:

Mező Példa Leírás
clusterSubnet 10.100.128.0/17 A pod hálózati adaptereinek IP-címeinek lefoglalásához használt IP-alhálózat. Ez az érték megfelelteti a fenti fürtcímblokknak. Az alhálózatnak a virtuális hálózat címterében kell lennie. Ha az Azure CNI engedélyezve van, az alapértelmezett érték a 10.240.0.0/12. Az Azure CNI nélkül az alapértelmezett érték a 10.244.0.0/16. A /16 helyett használja a /24 alhálózatot. A /24 használata esetén ez az alhálózat csak egy csomóponthoz lesz hozzárendelve. Más csomóponthoz nem lesz podhálózat rendelve, mivel elfogy az IP-címtér, ezért nem lesznek készen a fürtben.
serviceCidr 10.100.16.0/20 A fürtben üzembe helyezett szolgáltatások IP-címeinek lefoglalásához használt IP-alhálózat. Ez az érték megfelelteti a fenti fürtszolgáltatások blokkjának.
dnsServiceIP 10.100.16.10 A fürt DNS-szolgáltatásához hozzárendelendő IP-cím. A címnek a serviceCidr alhálózatból kell származnia. Ezt az értéket a serviceCidr megadásakor kell megadni. Az alapértelmezett érték a serviceCidr alhálózat .10-címe.

Ha például a kubenetet használja:
Olyan hálózati címtérrel, ahol az alhálózat 10.100.0.0/16control-plane-sn a 10.100.0.0/24 és agents-sn a 10.100.1.0/24

"masterProfile": {
  ...
  "vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/control-plane-sn",
  "firstConsecutiveStaticIP": "10.100.0.239",
  ...
},
...
"agentPoolProfiles": [
  {
    ...
    "vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/agents-sn",
    ...
  },
    ...
"kubernetesConfig": [
  {
    ...
    "clusterSubnet": "10.100.128.0/17",
    "serviceCidr": "10.100.16.0/20",
    "dnsServiceIP" : "10.100.16.10",

    ...
  },

Ha például az Azure CNI-t használja:
Olyan hálózati címtérrel, ahol az alhálózat 172.24.0.0/16control-plane-sn a 172.24.0.0/24 és k8s-sn a 172.24.128.0/17

"masterProfile": {
  ...
  "vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/control-plane-sn",
  "firstConsecutiveStaticIP": "172.24.0.239",
  ...
},
...
"agentPoolProfiles": [
  {
    ...
    "vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/k8s-sn",
    ...
  },
    ...
"kubernetesConfig": [
  {
    ...
    "clusterSubnet": "172.24.128.0/17",
    "serviceCidr": "172.24.16.0/20",
    "dnsServiceIP" : "172.24.16.10",
    ...
  },

A fürt üzembe helyezése

Miután hozzáadta az értékeket az API-modellhez, üzembe helyezheti a fürtöt az ügyfélszámítógépről az deploy AKS-motor parancsával. Útmutatásért lásd: Kubernetes-fürt üzembe helyezése.

Az útválasztási táblázat beállítása

Ha például kubenetet használ, networkPluginkubenet az API-modell konfigurációs objektumábankubernetesConfig. A fürt üzembe helyezése után térjen vissza a virtuális hálózathoz az Azure Stack felhasználói portálján. Állítsa be az útválasztási táblázatot és a hálózati biztonsági csoportot (NSG) az alhálózat paneljén. Miután sikeresen üzembe helyezett egy fürtöt az egyéni virtuális hálózaton, kérje le az Útvonaltábla erőforrás azonosítóját a fürt erőforráscsoportjának Hálózat paneljéről.

  1. Nyissa meg az Azure Stack Hub felhasználói portálját az Azure Stack Hub-példányban.

  2. Válassza a Minden erőforrás elemet.

  3. Írja be a virtuális hálózat nevét a keresőmezőbe.

  4. Válassza az Alhálózatok lehetőséget, majd válassza ki a fürtöt tartalmazó alhálózat nevét.

    útvonaltábla és hálózati biztonsági csoport

  5. Válassza az Útvonaltábla lehetőséget, majd válassza ki a fürt útvonaltábláját.

  6. Győződjön meg arról, hogy ez az API-modellben megadott összes alhálózat esetében megtörténik, beleértve az alhálózatot masterProfile is.

Megjegyzés

A Kubernetes Windows-fürt egyéni virtuális hálózatának ismert problémája van.

Következő lépések