Az Azure Kubernetes Service (AKS) IPAM-mód és a Dataplane-technológia frissítése
Mivel mindig vannak új IP-hozzárendelés-kezelési (IPAM) módok és az Azure Kubernetes Service (AKS) szolgáltatást támogató adatsík-technológia, elkerülhetetlen, hogy a meglévő AKS-fürtöknek újabb IPAM-módokra és adatsík-technológiára kell frissíteni a legújabb funkciókhoz és támogatottsághoz való hozzáféréshez. Ez a cikk útmutatást nyújt egy meglévő AKS-fürtnek az Azure CNI-átfedés IPAM módhoz való használatára való frissítéséhez, valamint a Cilium által üzemeltetett Azure CNI adatsíkként való használatához.
Meglévő fürt frissítése Azure CNI-átfedésre
Feljegyzés
Meglévő Azure CNI-fürtöt frissíthet átfedésre, ha a fürt megfelel az alábbi feltételeknek:
- A fürt a Kubernetes 1.22-es verzióján van.
- Nem használja a dinamikus pod IP-foglalási funkcióját.
- Nincs engedélyezve hálózati házirend. A hálózati házirend-motor a frissítés előtt eltávolítható, lásd: Az Azure Network Policy Manager vagy a Calico eltávolítása.
- Nem használ windowsos csomópontkészleteket dockerrel tároló-futtatókörnyezetként.
Feljegyzés
A meglévő fürt CNI-átfedésre való frissítése nem visszafordítható folyamat.
Figyelmeztetés
A Windows operációs rendszer 20348.1668-ás buildje előtt korlátozás lépett fel a Windows Overlay podok esetében, amelyek helytelenül sNATing csomagokat adnak a gazdagép hálózati podjairól, ami hátrányosabb hatással volt az Overlay-re frissített fürtökre. A probléma elkerülése érdekében használja a 20348.1668-nál nagyobb vagy egyenlő Windows operációsrendszer-buildet.
Figyelmeztetés
Ha egyéni Azure-ip-masq-agent konfigurációt használ olyan további IP-tartományok hozzáadásához, amelyek nem tartalmazhatnak podokból származó SNAT-csomagokat, az Azure CNI Overlayre való frissítés megszakíthatja az ezekhez a tartományokhoz való kapcsolódást. A pod IP-címei az átfedési területről nem lesznek elérhetők a fürtcsomópontokon kívül.
Emellett a megfelelően régi fürtök esetében előfordulhat, hogy az Azure-ip-masq-agent egy korábbi verziójából maradt ConfigMap. Ha ez a névvel ellátott azure-ip-masq-agent-config
ConfigMap létezik, és nem szándékosan a helyén van, a frissítési parancs futtatása előtt törölni kell.
Ha nem egyéni ip-masq-agent konfigurációt használ, csak a ConfigMap létezhet az azure-ip-masq-agent-config-reconciled
Azure ip-masq-agent ConfigMaps esetében, és ez a frissítési folyamat során automatikusan frissül.
A frissítési folyamat aktiválja az egyes csomópontkészleteket, hogy egyidejűleg újraképeződjenek. Az egyes csomópontkészletek külön frissítése átfedésre nem támogatott. A fürt hálózatának megszakadása hasonló a csomópontok lemezképének frissítéséhez vagy a Kubernetes verziófrissítéséhez, ahol a csomópontkészlet minden csomópontja újra van rendszerképben.
Azure CNI-fürt frissítése
Frissítsen egy meglévő Azure CNI-fürtöt az Overlay használatára az [az aks update
][az-aks-update] paranccsal.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16
A --pod-cidr
paraméterre az örökölt CNI-ről való frissítéskor van szükség, mert a podoknak ip-címeket kell lekérniük egy új átfedési területről, amely nem fedi át a meglévő csomópont alhálózatát. A pod CIDR-címe sem fedheti át a csomópontkészletek virtuális hálózati címét. Ha például a virtuális hálózat címe 10.0.0.0/8, és a csomópontok a 10.240.0.0/16 alhálózatban találhatók, akkor --pod-cidr
a 10.0.0.0/8-val vagy a fürt meglévő CIDR szolgáltatásával nem lehet átfedésben.
Kubenet-fürt frissítése
Frissítsen egy meglévő Kubenet-fürtöt az Azure CNI Overlay használatára az [az aks update
][az-aks-update] paranccsal.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay
Mivel a fürt már használ privát CIDR-t olyan podokhoz, amelyek nem fedik egymást a virtuális hálózat IP-címterével, nem kell megadnia a --pod-cidr
paramétert, és a Pod CIDR ugyanaz marad, ha a paramétert nem használja.
Feljegyzés
A Kubenetről a CNI Overlayre való frissítéskor az útvonaltáblára már nincs szükség a pod útválasztásához. Ha a fürt egy ügyfél által megadott útvonaltáblát használ, az áttelepítési művelet során automatikusan törlődnek azok az útvonalak, amelyeket a podforgalom a megfelelő csomópontra való irányításához használt. Ha a fürt felügyelt útvonaltáblát használ (az útvonaltáblát az AKS hozta létre, és a csomópont erőforráscsoportjában él), akkor az útvonaltábla az áttelepítés részeként törlődik.
Meglévő fürt frissítése a Cilium által működtetett Azure CNI-re
Feljegyzés
Ha a fürt megfelel a következő feltételeknek, frissíthet egy meglévő fürtöt a Cilium által működtetett Azure CNI-ra:
- A fürt az Azure CNI Overlayt vagy az Azure CNI-t használja dinamikus IP-kiosztással. Ez nem tartalmazza az Azure CNI-t.
- A fürt nem rendelkezik Windows-csomópontkészletekkel.
Feljegyzés
Ha egy másik hálózati házirendmotorral (Azure NPM vagy Calico) rendelkező fürtön engedélyezi a Ciliumot, a rendszer eltávolítja és lecseréli a Ciliumra. További részletekért lásd: Az Azure Network Policy Manager vagy a Calico eltávolítása.
Figyelmeztetés
A frissítési folyamat aktiválja az egyes csomópontkészleteket, hogy egyidejűleg újraképeződjenek. Az egyes csomópontkészletek külön frissítése nem támogatott. A fürt hálózatának megszakadása hasonló a csomópontok lemezképének frissítéséhez vagy a Kubernetes verziófrissítéséhez , ahol a csomópontkészlet minden csomópontja újra van rendszerképben. A Cilium csak az összes csomópont újraképezése után kezdi meg a hálózati szabályzatok kikényszerítését.
A frissítés végrehajtásához az Azure CLI 2.52.0-s vagy újabb verziójára lesz szüksége. Futtassa az --version
a jelenleg telepített verziót. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.
A következő paranccsal frissíthet egy meglévő fürtöt az Azure CNI Powered by Ciliumra. Cserélje le a következő értékeket <clusterName>
<resourceGroupName>
:
az aks update --name <clusterName> --resource-group <resourceGroupName> \
--network-dataplane cilium
Azure Kubernetes Service