全部产品
Search
文档中心

Container Service for Kubernetes:Ubah vSwitch pod

更新时间:Dec 25, 2025

Saat menggunakan plugin jaringan Terway di kluster Alibaba Cloud Container Service for Kubernetes (ACK), Anda mungkin perlu menambahkan lebih banyak vSwitch jika vSwitch saat ini kehabisan alamat IP atau untuk menambahkan blok CIDR pod baru. Topik ini menjelaskan cara menambahkan vSwitch guna meningkatkan jumlah alamat IP yang tersedia untuk kluster ACK Anda.

Batasan

  • vSwitch yang ditambahkan harus berada di zona yang sama dengan node. Jika tidak tersedia vSwitch di zona tersebut, sistem akan menggunakan vSwitch dari Elastic Network Interface (ENI) primary.

  • Konfigurasi vSwitch untuk ENI yang sudah ada tidak dapat diubah. Setelah konfigurasi vSwitch pod diubah, pengaturan baru hanya berlaku untuk node baru.

Kapan perubahan konfigurasi vSwitch pod berlaku

Node yang sudah ada

Terway hanya menerapkan konfigurasi vSwitch baru saat membuat ENI baru. Oleh karena itu, konfigurasi baru tidak langsung berlaku pada node yang sudah ada dalam dua kasus berikut:

  1. ENI sedang digunakan: Terway tidak menghapus atau mengganti ENI yang sudah ada jika terdapat pod yang sedang berjalan di atasnya atau jika ENI tersebut merupakan trunk ENI.

  2. Batas ENI tercapai: ENI baru tidak dapat dibuat karena jumlah ENI pada instans node telah mencapai batas maksimum untuk tipe instans tersebut.

Node baru

Untuk node baru yang ditambahkan ke kluster, Terway membuat ENI menggunakan vSwitch yang dipilih berdasarkan konfigurasi saat ini di tingkat kluster, node, atau pod. Konfigurasi baru langsung berlaku.

Kebijakan pemilihan vSwitch dan penyeimbangan sumber daya IP

Saat beberapa vSwitch dikonfigurasi untuk suatu zona, Terway menyediakan kebijakan pemilihan berbeda untuk mengontrol cara vSwitch ditetapkan saat membuat ENI. Untuk informasi selengkapnya tentang item konfigurasi, lihat Sesuaikan parameter Terway.

Kebijakan default: ordered

  • Terway mengurutkan vSwitch secara menurun berdasarkan jumlah alamat IP yang tersedia dan memprioritaskan vSwitch dengan jumlah alamat IP terbanyak. Kebijakan ini cocok untuk sebagian besar skenario.

  • Kasus khusus: Dalam skenario lonjakan pembuatan pod secara tiba-tiba yang memicu pembuatan ENI secara batch, semua ENI baru mungkin ditetapkan ke vSwitch yang sama yang memiliki jumlah alamat IP terbanyak. Hal ini dapat menyebabkan distribusi sumber daya IP yang tidak merata dan menghabiskan alamat IP dari satu vSwitch dalam waktu singkat.

Solusi

Untuk menyeimbangkan konsumsi IP di beberapa vSwitch, gunakan salah satu metode berikut:

Solusi 1: Beralih ke kebijakan random

  • Ubah kebijakan pemilihan vSwitch menjadi random.

  • Terway akan memilih vSwitch secara acak dari daftar vSwitch yang tersedia untuk membuat ENI. Hal ini membantu mendistribusikan tekanan penggunaan IP.

Solusi 2: Partisi vSwitch berdasarkan kelompok node

  • Gunakan konfigurasi jaringan tingkat node untuk membagi node ke dalam beberapa kelompok node.

  • Dalam setiap kelompok node, sambungkan vSwitch pod unik untuk setiap zona.

Gejala kekurangan alamat IP vSwitch

Dalam jaringan Terway, gejala berikut menunjukkan bahwa alamat IP vSwitch telah habis:

  • Jika pembuatan pod gagal dan statusnya adalah ContainerCreating, jalankan perintah berikut untuk melihat log Terway pada node tempat pod tersebut berada.

    kubectl logs --tail=100 -f terway-eniip-***** -n kube-system -c terway

    Jika pesan error yang mirip dengan berikut dikembalikan, berarti vSwitch yang digunakan Terway pada node tersebut tidak memiliki alamat IP yang tersedia. Pod tetap dalam status ContainerCreating karena tidak tersedia alamat 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. Temukan vSwitch tersebut dan pastikan nilai pada kolom Available IP Address Count adalah 0.

Ubah vSwitch pod

Anda dapat dengan mudah menambahkan vSwitch melalui konsol. Kami menyarankan agar Anda terlebih dahulu melakukan peningkatan komponen Terway ke versi terbaru, lalu mengonfigurasi vSwitch pod di konsol.

  • Terway v1.4.4 dan versi yang lebih baru mendukung konfigurasi vSwitch pod baik melalui konsol maupun kubectl.

  • Versi sebelum Terway v1.4.4 hanya mendukung konfigurasi vSwitch pod melalui kubectl.

Gunakan konsol

  1. Masuk ke Konsol VPC dan buat vSwitch. vSwitch baru harus berada di wilayah yang sama dengan vSwitch yang kekurangan alamat IP. Untuk informasi selengkapnya tentang cara membuat vSwitch, lihat Buat dan kelola vSwitch.

    Catatan

    Untuk menyediakan cukup alamat IP bagi jumlah pod yang terus bertambah, kami menyarankan agar blok CIDR vSwitch untuk pod berisi minimal 8.192 alamat IP. Artinya, awalan blok CIDR harus 19 atau lebih kecil.

  2. Pada halaman Add-ons, klik tab Network. Temukan komponen Terway yang ingin Anda tingkatkan, lalu klik Upgrade. Setelah komponen ditingkatkan ke versi terbaru, klik Configure.

    Jika tombol Upgrade tidak ditampilkan, berarti komponen Terway sudah merupakan versi terbaru.

    Catatan

    Perubahan yang dilakukan pada komponen yang telah diterapkan dengan metode lain akan ditimpa setelah komponen diterapkan ulang.

    配置

  3. Pada kotak dialog terway-eniip Parameter Settings, di bagian PodVswitchId, pilih vSwitch yang Anda perlukan. Biarkan nilai default untuk parameter lainnya.

  4. Setelah mengonfigurasi parameter, klik OK.

Gunakan kubectl

  1. Masuk ke Konsol VPC dan buat vSwitch. vSwitch baru harus berada di wilayah yang sama dengan vSwitch yang kekurangan alamat IP. Untuk informasi selengkapnya tentang cara membuat vSwitch, lihat Buat dan kelola vSwitch.

    Catatan

    Untuk menyediakan cukup alamat IP bagi jumlah pod yang terus bertambah, kami menyarankan agar blok CIDR vSwitch untuk pod berisi minimal 8.192 alamat IP. Artinya, awalan blok CIDR harus 19 atau lebih kecil.

  2. Jalankan perintah berikut untuk menambahkan vSwitch ke ConfigMap Terway:

    kubectl edit cm eni-config -n kube-system

    Kode contoh berikut menunjukkan cara menambahkan vSwitch:

    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-BBB ditambahkan ke bagian vSwitches. vsw-AAA adalah vSwitch yang sudah ada dan kekurangan alamat IP.

  3. Jalankan perintah berikut untuk menghapus semua pod Terway. Sistem akan secara otomatis membuat ulang pod tersebut.

    • Untuk skenario di mana beberapa pod berbagi satu ENI, jalankan perintah berikut untuk menghapus semua pod Terway:

      kubectl delete -n kube-system pod -l app=terway-eniip
    • Untuk skenario di mana satu pod menggunakan satu ENI secara eksklusif, jalankan perintah berikut untuk menghapus semua pod Terway:

      kubectl delete -n kube-system pod -l app=terway-eni
  4. Jalankan perintah berikut untuk memeriksa apakah semua pod Terway berhasil dibuat ulang.

    kubectl get pod -n kube-system  | grep terway
  5. Buat pod untuk memverifikasi bahwa pod tersebut dapat diberi alamat IP dari vSwitch baru.

    Catatan

    Setelah Anda mengubah konfigurasi vSwitch, konfigurasi baru hanya berlaku untuk ENI baru. ENI yang sudah ada tetap menggunakan konfigurasi lama. Anda dapat melakukan restart bergulir pada node untuk menerapkan konfigurasi baru.

FAQ

Mengapa kluster tidak dapat mengakses jaringan publik setelah saya menambahkan vSwitch di jaringan Terway?

Gejala: Di jaringan Terway, Anda menambahkan vSwitch secara manual karena pod kekurangan sumber daya IP. Setelah menambahkan vSwitch, kluster tidak dapat mengakses jaringan publik.

Penyebab: vSwitch tempat alamat IP pod berada tidak memiliki akses ke jaringan publik.

Solusi: Gunakan fitur SNAT dari NAT Gateway untuk mengonfigurasi aturan SNAT pada vSwitch tempat alamat IP pod berada. Untuk informasi selengkapnya, lihat Aktifkan kluster ACK untuk mengakses jaringan publik.

Apa yang harus saya lakukan jika alamat IP yang diberikan ke pod tidak berada dalam blok CIDR vSwitch?

Gejala: Di jaringan Terway, alamat IP pod yang dibuat tidak berada dalam blok CIDR vSwitch yang dikonfigurasi.

Penyebab: Alamat IP pod dialokasikan dari VPC dan ditetapkan ke kontainer melalui ENI. vSwitch hanya dapat dikonfigurasi saat ENI baru dibuat. Jika ENI sudah ada, alamat IP pod tetap dialokasikan dari vSwitch yang sesuai dengan ENI tersebut. Masalah ini biasanya terjadi dalam dua skenario berikut:

  • Anda menambahkan node ke kluster yang sebelumnya digunakan di kluster lain, dan pod pada node tersebut tidak dikosongkan (drained) saat node dihapus. Dalam kasus ini, sumber daya ENI yang digunakan oleh kluster sebelumnya mungkin masih tersisa di node.

  • Anda menambahkan atau mengubah konfigurasi vSwitch yang digunakan oleh Terway secara manual. Karena ENI asli mungkin masih ada di node, pod baru mungkin tetap menggunakan alamat IP dari ENI asli tersebut.

Solusi: Anda dapat membuat node baru atau melakukan restart bergulir pada node yang sudah ada untuk memastikan konfigurasi baru berlaku.

Mengapa konsumsi IP tidak seimbang setelah saya mengonfigurasi beberapa vSwitch?

Gejala: Di lingkungan plugin jaringan Terway, setelah Anda mengonfigurasi beberapa vSwitch pod untuk zona yang sama, konsumsi alamat IP di antara vSwitch tersebut sangat tidak seimbang. Beberapa vSwitch cepat kehabisan sumber daya IP, sementara yang lain masih memiliki banyak alamat IP yang tersedia.

Penyebab: Terway hanya memilih vSwitch pod saat membuat Elastic Network Interface (ENI). Setelah ENI dibuat, vSwitch-nya bersifat tetap. Semua alamat IP pod berikutnya yang dialokasikan pada ENI ini berasal dari vSwitch tersebut, dan vSwitch tidak dipilih lagi.

Saat ENI baru dibuat, Terway secara default menggunakan kebijakan pemilihan vSwitch ordered, yang memprioritaskan vSwitch dengan jumlah alamat IP terbanyak.
Namun, saat Anda memperluas kapasitas pod dalam skala besar dalam waktu singkat—misalnya membuat node secara batch atau menerapkan banyak replika—banyak permintaan pembuatan ENI secara konkuren mungkin menjalankan logika pemilihan vSwitch hampir bersamaan. Karena jumlah alamat IP yang tersedia pada setiap vSwitch belum berubah signifikan, permintaan tersebut kemungkinan besar memilih vSwitch yang sama, sehingga menyebabkan alokasi alamat IP yang tidak merata.

Solusi: Sesuaikan strategi berikut dengan skenario bisnis Anda:

  1. Untuk node yang sudah ada (kelompok node yang sudah ada)
    Jika alokasi IP sudah tidak seimbang dan beberapa vSwitch hampir kehabisan alamat IP:

    • Lakukan restart bergulir secara manual pada beberapa node yang sudah ada untuk melepaskan ENI yang terpasang.

    • Setelah ENI dilepas, alamat IP dikembalikan ke vSwitch yang sesuai, sehingga membantu menyeimbangkan penggunaan IP.

  2. Untuk node baru atau skenario penerapan baru

    Ubah kebijakan pemilihan vSwitch Terway vswitch_selection_policy dari ordered menjadi random. Kebijakan ini memilih vSwitch yang tersedia secara acak saat membuat ENI, sehingga secara efektif menghindari masalah vSwitch hotspot. Untuk informasi selengkapnya tentang cara melakukan operasi ini, lihat Sesuaikan parameter Terway.

  3. Untuk alokasi yang deterministik dan terisolasi
    Untuk mengontrol alokasi sumber daya jaringan secara ketat, Anda dapat mengonfigurasi konfigurasi jaringan tingkat node untuk setiap kelompok node. Hal ini memastikan hanya satu vSwitch pod yang dikaitkan dengan setiap zona. Pendekatan ini menciptakan pemetaan satu-ke-satu antara vSwitch dan kelompok node, sehingga sepenuhnya menghindari persaingan alokasi IP.