全部产品
Search
文档中心

Container Service for Kubernetes:Konfigurasikan NodePort listening berdasarkan node pool

更新时间:Jun 26, 2025

Isolasi Service diperlukan dalam skenario komputasi edge. Sebagai contoh, ketika menggunakan NodePort Service, Anda dapat mendengarkan port yang diekspos hanya pada node di node pool tertentu untuk menghindari konflik port. Topik ini menjelaskan cara mengonfigurasi NodePort listening berdasarkan node pool.

Desain arsitektur

Komponen edge-hub memanfaatkan kerangka kerja penyaringan data terprogram bawaan untuk mengubah respons dari kube-apiserver di cloud setelah menerima permintaan dari edge. Respons ini dimodifikasi secara transparan sesuai kebutuhan untuk memenuhi persyaratan dalam skenario kolaborasi cloud-edge. Gambar berikut menunjukkan desain arsitektur komponen edge-hub.架构图.png

Filter bernama nodeportisolation diperkenalkan ke komponen edge-hub. Filter ini dapat digunakan bersama dengan anotasi nodeport.openyurt.io/listen dari NodePort Services untuk mendengarkan port yang diekspos pada node di node pool tertentu.

Catatan penggunaan

  • Pastikan versi komponen edge-hub adalah 0.11.0 atau lebih baru.

  • Saat membuat Service, tentukan apakah akan menambahkan anotasi nodeport.openyurt.io/listen. Jika anotasi ditambahkan setelah Service dibuat, mulai ulang semua proxy jaringan Kubernetes (kube-proxy) agar fitur ini berlaku.

  • Setelah menambahkan node pool, tentukan node pool yang baru dibuat dalam anotasi NodePort Service sebelum menambahkan node ke node pool. Dengan cara ini, NodePort listening berlaku untuk semua node yang ditambahkan ke node pool.

  • Nama node pool dapat disesuaikan. Oleh karena itu, disarankan untuk menentukan node pool berdasarkan ID-nya. Anda dapat melihat ID node pool di Container Service for Kubernetes (ACK) console. ID node pool berformat npxxxx.

Prosedur

Anda dapat menambahkan anotasi nodeport.openyurt.io/listen ke NodePort dan LoadBalancer Services.

  • Kunci Anotasi: nodeport.openyurt.io/listen.

  • Nilai Anotasi: nama node pool yang dipisahkan oleh koma (,).

    • foo: mendengarkan port yang diekspos pada node di node pool bernama foo.

    • -foo: tidak mendengarkan port yang diekspos pada node di node pool bernama foo.

    • *: mendengarkan port yang diekspos pada node di semua node pool.

Penting
  • Jika nama node pool ditentukan dalam beberapa anotasi, hanya nama node pool di anotasi pertama yang berlaku.

  • NodePort listening dinonaktifkan untuk node di node pool yang belum ditentukan.

  • Secara default, sistem mendengarkan port yang diekspos pada node yatim (node yang tidak termasuk dalam node pool manapun) dengan cara yang sama seperti Kubernetes open source.

Contoh anotasi

Anotasi

Deskripsi

nodeport.openyurt.io/listen=foo,bar

Mendengarkan port yang diekspos oleh NodePort Service pada node di node pool bernama foo dan bar.

nodeport.openyurt.io/listen=foo,*

Mendengarkan port yang diekspos oleh NodePort Service pada node di semua node pool.

nodeport.openyurt.io/listen=-foo,-bar

Tidak mendengarkan port yang diekspos oleh NodePort Service pada node di semua node pool.

nodeport.openyurt.io/listen=-foo,*

Tidak mendengarkan port yang diekspos oleh NodePort Service pada node di node pool bernama foo.

nodeport.openyurt.io/listen=foo,-foo

Mendengarkan port yang diekspos oleh NodePort Service pada node di node pool bernama foo.

nodeport.openyurt.io/listen=-foo

Tidak mendengarkan port yang diekspos oleh NodePort Service pada node di semua node pool, termasuk node pool bernama foo.