全部产品
Search
文档中心

Container Service for Kubernetes:Manajemen topologi layanan kelompok node

更新时间:Mar 07, 2026

Pada Service Kubernetes native, titik akhir backend didistribusikan ke seluruh node dalam kluster. Distribusi ini dapat menyebabkan masalah akses atau kinerja buruk untuk lalu lintas yang melintasi kelompok node. Topologi lalu lintas layanan memastikan bahwa aplikasi pada node tepi hanya dapat diakses dari node dalam kelompok node yang sama atau dari node lokal. Topik ini menjelaskan fitur manajemen topologi lalu lintas layanan dan cara mengonfigurasinya.

Informasi latar belakang

Dalam skenario komputasi tepi, node tepi sering dikelompokkan berdasarkan lokasi, wilayah, atau atribut logis lainnya, seperti arsitektur CPU atau Penyedia layanan internet (ISP). Kelompok node ini biasanya terisolasi dan mungkin memiliki jaringan, sumber daya, atau aplikasi yang terpisah.

Implementasi manajemen topologi lalu lintas layanan

Untuk mengatasi tantangan tersebut, ACK Edge memperluas Service native dengan fitur manajemen topologi titik akhir. Anda dapat menggunakan konfigurasi sederhana untuk membatasi cakupan akses titik akhir backend suatu Service. Misalnya, Anda dapat memastikan bahwa aplikasi pada node tepi hanya dapat diakses dari node dalam kelompok node yang sama atau dari node lokal. Gambar berikut mengilustrasikan perilaku ini.

image
  • Service 1 dikaitkan dengan dua instans backend: Pod 2 dan Pod 3. Anotasi "openyurt.io/topologyKeys: kubernetes.io/zone" pada Service 1 menentukan cakupan topologinya berdasarkan kelompok node.

  • Node 2, yang menjalankan Pod 2, dan Node 4, yang menjalankan Pod 3, berada dalam kelompok node yang berbeda: A dan B.

  • Pod 1 dan Pod 3 tidak berada dalam kelompok node yang sama. Saat Pod 1 mengakses Service 1, lalu lintas hanya diteruskan ke Pod 2. Lalu lintas ke Pod 3 diblokir.

Catatan

  • Untuk versi sebelum v1.26.3-aliyun.1: Untuk mengaktifkan fitur topologi lalu lintas, Anda harus menambahkan anotasi topologi saat membuat Service. Jika Anda menambahkan anotasi setelah Service dibuat, fitur tersebut tidak akan berlaku. Anda harus menghapus dan membuat ulang Service tersebut.

  • Untuk v1.26.3-aliyun.1 dan versi setelahnya: Anda dapat menambahkan atau mengubah anotasi topologi setelah Service dibuat. Perubahan tersebut berlaku secara langsung.

Deskripsi anotasi

Tambahkan anotasi ke Service native untuk mengonfigurasi topologi lalu lintas. Tabel berikut menjelaskan parameter-parameter tersebut.

Annotation Key

Annotation Value

Description

openyurt.io/topologyKeys

kubernetes.io/hostname

Membatasi akses Service hanya ke node lokal.

openyurt.io/topologyKeys

kubernetes.io/zone atau openyurt.io/nodepool

Anda dapat membatasi akses ke Service hanya untuk node dalam kelompok node saat ini. Untuk versi ACK Edge cluster 1.18 atau lebih baru, kami merekomendasikan penggunaan openyurt.io/nodepool.

-

-

Service tidak memiliki pembatasan topologi.

Konfigurasi topologi lalu lintas layanan

Anda dapat mengonfigurasi topologi lalu lintas layanan melalui Konsol atau command line.

Metode 1: Konfigurasi topologi lalu lintas layanan menggunakan Konsol

Untuk membuat Service yang hanya dapat diakses dari dalam kelompok nodenya, tambahkan anotasi ke Service tersebut. Misalnya, atur Name menjadi openyurt.io/topologyKeys dan Value menjadi kubernetes.io/zone. Untuk informasi selengkapnya tentang cara membuat Service, lihat Manajemen layanan.

G-9

Metode 2: Konfigurasi topologi lalu lintas layanan menggunakan command line

Templat YAML berikut menunjukkan cara membuat Service yang menggunakan domain topologi kelompok node.

apiVersion: v1
kind: Service
metadata:
  annotations:
    openyurt.io/topologyKeys: kubernetes.io/zone
  name: my-service-nodepool
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    app: nginx
  sessionAffinity: None
  type: ClusterIP