Dalam mode jaringan Terway, Anda perlu memperluas kapasitas vSwitch saat sumber daya IP dari vSwitch yang ada tidak mencukupi atau saat Anda ingin menambahkan vSwitch baru untuk blok CIDR Pod. Topik ini menjelaskan cara menambahkan vSwitch guna menyediakan lebih banyak alamat IP untuk kluster ACK Anda.
Batasan
Pastikan vSwitch yang Anda tambahkan berada di zona yang sama dengan node Anda. Jika tidak ada vSwitch dalam daftar Anda yang mencakup zona node tersebut, Terway akan menggunakan vSwitch yang terkait dengan ENI primer.
Anda tidak dapat mengubah konfigurasi vSwitch untuk Elastic Network Interface (ENI) yang sudah ada. Setelah memperbarui vSwitch untuk Pod, tambahkan node baru agar dapat memanfaatkan konfigurasi yang diperbarui.
Kapan perubahan vSwitch untuk Pod mulai berlaku
Node yang sudah ada
Terway hanya menerapkan pengaturan vSwitch baru saat membuat ENI baru. Oleh karena itu, pengaturan baru tidak langsung berlaku pada node yang sudah ada dalam kasus-kasus berikut:
ENI sedang digunakan. Terway tidak akan menghapus atau mengganti ENI jika masih ada Pod yang berjalan di atasnya atau jika ENI tersebut merupakan trunk ENI.
Batas ENI telah tercapai. Tipe instans node mendukung jumlah maksimum ENI tertentu, sehingga tidak dapat dibuat ENI tambahan.
Node baru
Untuk node yang ditambahkan ke kluster setelah pembaruan, Terway memilih vSwitch berdasarkan konfigurasi saat ini (tingkat kluster, node, atau pod) dan membuat ENI sesuai konfigurasi tersebut. Pengaturan baru langsung berlaku.
Strategi pemilihan vSwitch dan penyeimbangan sumber daya IP
Saat beberapa vSwitch dikonfigurasi untuk satu zona, Terway menggunakan strategi pemilihan vSwitch yang berbeda untuk mengontrol cara vSwitch ditetapkan saat ENI dibuat. Untuk informasi selengkapnya tentang opsi konfigurasi, lihat Sesuaikan parameter konfigurasi Terway.
Strategi default: ordered
Terway mengurutkan vSwitch berdasarkan jumlah IP tersisa secara menurun dan memilih vSwitch dengan alamat IP paling banyak terlebih dahulu. Strategi ini cocok untuk sebagian besar skenario.
Kasus khusus: Saat terjadi lonjakan pembuatan Pod yang memicu pembuatan ENI secara batch, semua ENI baru mungkin ditetapkan ke vSwitch yang sama—yaitu vSwitch dengan alamat IP paling banyak. Hal ini menyebabkan distribusi IP tidak merata dan berpotensi menghabiskan pool IP vSwitch tersebut.
Solusi
Untuk menyeimbangkan penggunaan IP di beberapa vSwitch, gunakan salah satu metode berikut:
Solusi 1: Beralih ke strategi random
Ubah strategi pemilihan vSwitch menjadi
random.Terway memilih vSwitch secara acak dari daftar yang tersedia untuk membuat setiap ENI. Hal ini membantu mendistribusikan penggunaan alamat IP secara merata.
Solusi 2: Tetapkan vSwitch berdasarkan kelompok node
Anda dapat menggunakan konfigurasi jaringan tingkat node untuk mengelompokkan node ke dalam kelompok node terpisah.
Untuk setiap zona, bind vSwitch Pod unik ke masing-masing kelompok node.
Tanda-tanda sumber daya IP vSwitch tidak mencukupi
Dalam mode jaringan Terway, sumber daya IP vSwitch yang tidak mencukupi menunjukkan tanda-tanda berikut:
Jika Pod gagal dimulai dan tetap berada dalam status
ContainerCreating, Anda dapat menjalankan perintah berikut untuk memeriksa log Terway pada node tempat Pod dijadwalkan:kubectl logs --tail=100 -f terway-eniip-***** -n kube-system -c terwayJika output berisi error seperti di bawah ini, artinya vSwitch yang digunakan oleh Terway pada node tersebut tidak memiliki alamat IP yang tersedia. Akibatnya, Pod tetap berada dalam status
ContainerCreatingkarena kekurangan sumber daya IP.time="20**-03-17T07:03:40Z" level=warning msg="Assign private ip address failed: Aliyun API Error: RequestId: 2095E971-E473-4BA0-853F-0C41CF52651D Status Code: 403 Code: InvalidVSwitchId.IpNotEnough Message: The specified VSwitch \"vsw-***\" has not enough IpAddress., retrying"Masuk ke Konsol Virtual Private Cloud (VPC). Di panel navigasi sebelah kiri, klik vSwitch dan periksa jumlah Available IP Addresses untuk vSwitch tersebut. Jika jumlahnya 0, berarti tidak ada alamat IP yang tersedia.
Ubah vSwitch untuk Pod
Menambahkan vSwitch melalui Konsol lebih sederhana daripada menggunakan kubectl. Kami menyarankan Anda melakukan peningkatan add-on Terway ke versi terbaru, lalu mengonfigurasi vSwitch untuk Pod di Konsol.
Terway v1.4.4 dan versi yang lebih baru mendukung metode Konsol maupun kubectl untuk mengonfigurasi vSwitch untuk Pod.
Versi Terway sebelum v1.4.4 hanya mendukung metode kubectl.
Metode Konsol
Anda dapat membuat vSwitch baru di Konsol Virtual Private Cloud (VPC) . vSwitch baru harus berada di wilayah yang sama dengan vSwitch yang kehabisan alamat IP. Untuk petunjuknya, lihat Buat dan kelola vSwitch.
CatatanKerapatan Pod terus meningkat. Untuk memenuhi permintaan alamat IP yang terus bertambah, buatlah vSwitch untuk Pod dengan subnet mask /19 atau lebih kecil. Hal ini menjamin setidaknya 8.192 alamat IP per blok CIDR.
Masuk ke Konsol Manajemen Container Service . Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, klik Add-ons.
Di halaman Add-ons, klik tab Network. Pilih add-on Terway yang ingin Anda tingkatkan, lalu klik Upgrade. Setelah peningkatan selesai, klik Configuration.
Jika tombol Upgrade tidak muncul, berarti add-on Terway sudah berada di versi terbaru.
CatatanPerubahan yang dilakukan pada add-on yang sudah diterapkan melalui metode lain akan ditimpa ulang saat add-on tersebut diterapkan kembali.

Di halaman Parameters untuk terway-eniip, pilih vSwitch yang diinginkan di bagian PodVswitchId. Biarkan semua parameter lain pada nilai default-nya.
Setelah selesai mengonfigurasi parameter, klik OK.
Metode kubectl
Anda dapat membuat vSwitch baru di Konsol Virtual Private Cloud (VPC) . vSwitch baru harus berada di wilayah yang sama dengan vSwitch yang kehabisan sumber daya IP. Untuk petunjuknya, lihat Buat dan kelola vSwitch.
CatatanKerapatan Pod terus meningkat. Untuk memenuhi permintaan alamat IP yang terus bertambah, buatlah vSwitch untuk Pod dengan subnet mask /19 atau lebih kecil. Hal ini menjamin setidaknya 8.192 alamat IP per blok CIDR.
Jalankan perintah berikut untuk menambahkan vSwitch ke konfigurasi ConfigMap Terway.
kubectl edit cm eni-config -n kube-systemTambahkan vSwitch baru seperti pada contoh berikut:
eni_conf: | { "version": "1", "max_pool_size": 25, "min_pool_size": 10, "vswitches": {"cn-shanghai-f":["vsw-AAA", "vsw-BBB"]}, "service_cidr": "172.21.0.0/20", "security_group": "sg-CCC" }Pada contoh ini,
vsw-BBBditambahkan ke bagianvswitches.vsw-AAAadalah vSwitch yang sudah ada namun kehabisan sumber daya IP.Anda dapat menjalankan perintah berikut untuk menghapus semua Pod Terway. Sistem akan secara otomatis membuat ulang Pod tersebut.
Untuk skenario ENI multi-IP, jalankan perintah berikut untuk menghapus semua Pod Terway:
kubectl delete -n kube-system pod -l app=terway-eniipUntuk skenario ENI single-IP, jalankan perintah berikut untuk menghapus semua Pod Terway:
kubectl delete -n kube-system pod -l app=terway-eni
Anda dapat menjalankan perintah berikut untuk memverifikasi bahwa semua Pod Terway sedang berjalan:
kubectl get pod -n kube-system | grep terwayAnda dapat membuat Pod dan memverifikasi bahwa Pod tersebut menerima alamat IP dari vSwitch yang baru ditambahkan.
CatatanSetelah mengubah konfigurasi vSwitch, pengaturan baru hanya berlaku untuk ENI yang baru dibuat. ENI yang sudah ada tetap menggunakan konfigurasi aslinya. Untuk menerapkan pengaturan baru ke semua node, lakukan restart bergulir pada node Anda.
FAQ
Setelah menambahkan vSwitch dalam mode Terway, mengapa Pod tidak dapat mengakses Internet?
Masalah: Anda menambahkan vSwitch secara manual karena Pod kekurangan sumber daya IP. Setelah penambahan vSwitch, kluster tidak dapat mengakses Internet.
Penyebab: vSwitch yang ditetapkan untuk alamat IP Pod tidak mendukung akses jaringan publik.
Solusi: Anda dapat menggunakan fitur SNAT Gateway NAT untuk mengonfigurasi aturan SNAT publik untuk vSwitch tersebut. Untuk informasi selengkapnya, lihat Aktifkan akses Internet untuk kluster Anda.
Alamat IP yang ditetapkan ke Pod berada di luar blok CIDR vSwitch yang dikonfigurasi. Apa yang harus saya lakukan?
Masalah: Dalam mode Terway, alamat IP yang ditetapkan ke Pod berada di luar blok CIDR vSwitch yang dikonfigurasi.
Penyebab: Alamat IP Pod berasal dari ruang alamat VPC dan ditetapkan melalui ENI. Anda hanya dapat menentukan vSwitch saat membuat ENI baru. Setelah ENI dibuat, semua Pod berikutnya di atasnya akan menerima alamat IP dari vSwitch yang terkait. Masalah ini umum terjadi dalam dua skenario:
Anda menambahkan node ke kluster, tetapi node tersebut sebelumnya digunakan di kluster lain. Saat menghapus node dari kluster sebelumnya, Anda tidak melakukan drain Pod. Akibatnya, ENI sisa dari kluster sebelumnya tetap ada di node tersebut.
Anda menambahkan atau memodifikasi konfigurasi vSwitch untuk Terway secara manual. Karena ENI yang sudah ada masih menggunakan konfigurasi lama, Pod baru mungkin tetap menerima alamat IP dari ENI tersebut.
Solusi: Anda dapat menambahkan node baru atau melakukan restart bergulir pada node yang sudah ada agar konfigurasi baru berlaku pada node yang segar.
Setelah mengonfigurasi beberapa vSwitch, penggunaan IP tidak seimbang di antara vSwitch. Mengapa?
Masalah: Dalam mode Terway, saat beberapa vSwitch Pod dikonfigurasi untuk zona yang sama, penggunaan alamat IP menjadi sangat tidak seimbang—beberapa vSwitch kehabisan alamat IP sementara yang lain masih memiliki banyak alamat IP yang tidak terpakai.
Penyebab: Terway hanya memilih vSwitch saat membuat ENI. Setelah dibuat, ENI tetap terikat pada vSwitch tersebut. Semua alamat IP Pod berikutnya pada ENI tersebut berasal dari vSwitch yang sama.
Secara default, Terway menggunakan strategi ordered, yang memilih vSwitch dengan sisa alamat IP paling banyak. Namun, saat terjadi penskalaan cepat—misalnya saat men-deploy banyak node atau replika secara bersamaan—permintaan pembuatan ENI multipel mungkin menjalankan logika pemilihan hampir bersamaan. Karena jumlah IP tersisa belum berubah signifikan, semua permintaan mungkin memilih vSwitch yang sama, sehingga menyebabkan ketidakseimbangan.
Solusi: Anda dapat memilih strategi berdasarkan skenario Anda:
Untuk kelompok node yang sudah ada dengan penggunaan alamat IP tidak seimbang dan vSwitch yang hampir habis:
Lakukan rolling (restart bergulir) secara manual pada beberapa node yang sudah ada untuk melepaskan ENI-nya.
Melepaskan ENI akan mengembalikan alamat IP-nya ke vSwitch, membantu menyeimbangkan penggunaan.
Untuk node baru atau deployment baru:
Ubah kebijakan pemilihan vSwitch Terway
vswitch_selection_policydariorderedmenjadirandom. Hal ini menyebabkan Terway memilih vSwitch secara acak saat membuat setiap ENI, sehingga membantu mencegah hotspot. Untuk informasi selengkapnya, lihat Sesuaikan parameter konfigurasi Terway.Mencapai determinisme dan isolasi
Jika Anda memerlukan kontrol ketat atas alokasi sumber daya jaringan, Anda dapat mengonfigurasi konfigurasi jaringan tingkat node untuk setiap kelompok node secara individual agar hanya satu vSwitch Pod yang dikaitkan dalam setiap zona. Hal ini menciptakan pemetaan satu-ke-satu antara vSwitch dan kelompok node serta sepenuhnya menghindari persaingan alokasi alamat IP.