Meningkatkan mode IPAM Azure Kubernetes Service (AKS) dan Teknologi Dataplane
Karena selalu ada mode manajemen penetapan IP (IPAM) baru dan teknologi dataplane yang mendukung Azure Kubernetes Service (AKS), tidak dapat dihindari untuk melalui situasi yang perlu ditingkatkan oleh kluster AKS yang ada ke mode IPAM yang lebih baru dan teknologi dataplane untuk mengakses fitur dan dukungan terbaru. Artikel ini menyediakan panduan tentang meningkatkan kluster AKS yang ada untuk menggunakan overlay Azure CNI untuk mode IPAM dan Azure CNI yang didukung oleh Cilium sebagai dataplane-nya.
Meningkatkan kluster yang ada ke Azure CNI Overlay
Catatan
Anda dapat memperbarui kluster Azure CNI yang ada ke Overlay jika kluster memenuhi kriteria berikut:
- Kluster ini ada di Kubernetes versi 1.22+.
- Tidak menggunakan fitur alokasi IP pod dinamis.
- Tidak mengaktifkan kebijakan jaringan. Mesin Kebijakan Jaringan dapat dihapus instalasinya sebelum peningkatan, lihat Menghapus instalan Azure Network Policy Manager atau Calico.
- Tidak menggunakan kumpulan simpul Windows apa pun dengan docker sebagai runtime kontainer.
Catatan
Memutakhirkan kluster yang ada ke CNI Overlay adalah proses yang tidak dapat dibalik.
Peringatan
Sebelum Windows OS Build 20348.1668, ada keterbatasan di sekitar pod Windows Overlay yang salah melakukan SNATing paket dari pod jaringan host, yang memiliki efek yang lebih merugikan untuk kluster yang ditingkatkan ke Overlay. Untuk menghindari masalah ini, gunakan Windows OS Build lebih besar dari atau sama dengan 20348.1668.
Peringatan
Jika menggunakan konfigurasi azure-ip-masq-agent kustom untuk menyertakan rentang IP tambahan yang seharusnya bukan paket SNAT dari pod, peningkatan ke Azure CNI Overlay dapat merusak konektivitas ke rentang ini. IP Pod dari ruang overlay tidak akan dapat dijangkau oleh apa pun di luar node kluster.
Selain itu, untuk kluster yang cukup lama mungkin ada ConfigMap yang tersisa dari versi azure-ip-masq-agent sebelumnya. Jika ConfigMap ini, bernama azure-ip-masq-agent-config
, ada dan tidak sengaja di tempat, ConfigMap ini harus dihapus sebelum menjalankan perintah pembaruan.
Jika tidak menggunakan konfigurasi ip-masq-agent kustom, hanya azure-ip-masq-agent-config-reconciled
ConfigMap yang harus ada sehubungan dengan Azure ip-masq-agent ConfigMaps dan ini akan diperbarui secara otomatis selama proses peningkatan.
Proses peningkatan memicu setiap kumpulan simpul untuk di-image ulang secara bersamaan. Meningkatkan setiap kumpulan simpul secara terpisah ke Overlay tidak didukung. Gangguan apa pun pada jaringan kluster mirip dengan peningkatan gambar simpul atau peningkatan versi Kubernetes di mana setiap simpul dalam kumpulan simpul di-image ulang.
Peningkatan Kluster Azure CNI
Perbarui kluster Azure CNI yang ada untuk menggunakan Overlay menggunakan perintah [az aks update
][az-aks-update].
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
Parameter --pod-cidr
diperlukan saat meningkatkan dari CNI warisan karena pod perlu mendapatkan IP dari ruang overlay baru, yang tidak tumpang tindih dengan subnet simpul yang ada. CIDR pod juga tidak dapat tumpang tindih dengan alamat VNet dari kumpulan simpul. Misalnya, jika alamat VNet Anda adalah 10.0.0.0/8, dan simpul Anda berada di subnet 10.240.0.0/16, --pod-cidr
tidak dapat tumpang tindih dengan 10.0.0.0/8 atau CIDR layanan yang ada pada kluster.
Peningkatan Kluster Kubenet
Perbarui kluster Kubenet yang ada untuk menggunakan Azure CNI Overlay menggunakan perintah [az aks update
][az-aks-update].
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay
Karena kluster sudah menggunakan CIDR privat untuk pod yang tidak tumpang tindih dengan ruang IP VNet, Anda tidak perlu menentukan --pod-cidr
parameter dan CIDR Pod akan tetap sama jika parameter tidak digunakan.
Catatan
Saat meningkatkan dari Kubenet ke Overlay CNI, tabel rute tidak akan lagi diperlukan untuk perutean pod. Jika kluster menggunakan tabel rute yang disediakan pelanggan, rute yang digunakan untuk mengarahkan lalu lintas pod ke node yang benar akan secara otomatis dihapus selama operasi migrasi. Jika kluster menggunakan tabel rute terkelola (tabel rute dibuat oleh AKS dan berada di grup sumber daya simpul) maka tabel rute tersebut akan dihapus sebagai bagian dari migrasi.
Meningkatkan kluster yang ada ke Azure CNI Powered by Cilium
Catatan
Anda dapat memperbarui kluster yang ada ke Azure CNI Powered by Cilium jika kluster memenuhi kriteria berikut:
- Kluster menggunakan Azure CNI Overlay atau Azure CNI dengan alokasi IP dinamis. Ini tidak termasuk Azure CNI.
- Kluster tidak memiliki kumpulan simpul Windows.
Catatan
Saat mengaktifkan Cilium dalam kluster dengan mesin kebijakan jaringan yang berbeda (Azure NPM atau Calico), mesin kebijakan jaringan akan dihapus instalasinya dan diganti dengan Cilium. Lihat Menghapus instalan Azure Network Policy Manager atau Calico untuk detail selengkapnya.
Peringatan
Proses peningkatan memicu setiap kumpulan simpul untuk di-image ulang secara bersamaan. Meningkatkan setiap kumpulan simpul secara terpisah tidak didukung. Gangguan apa pun pada jaringan kluster mirip dengan peningkatan gambar simpul atau peningkatan versi Kubernetes di mana setiap simpul dalam kumpulan simpul di-image ulang. Cilium akan mulai memberlakukan kebijakan jaringan hanya setelah semua simpul disortir ulang.
Untuk melakukan peningkatan, Anda memerlukan Azure CLI versi 2.52.0 atau yang lebih baru. Jalankan az --version
untuk melihat versi yang saat ini diinstal. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Gunakan perintah berikut untuk meningkatkan kluster yang ada ke Azure CNI Powered by Cilium. Ganti nilai untuk <clusterName>
dan <resourceGroupName>
:
az aks update --name <clusterName> --resource-group <resourceGroupName> \
--network-dataplane cilium
Azure Kubernetes Service