Ringkasan pemberian tag DSCP Quality of Service

Quality of Service (QoS) mengelola traffic jaringan dan memastikan performa aplikasi penting dengan mengontrol faktor seperti bandwidth, latensi, dan kehilangan paket. Teknologi ini memprioritaskan jenis traffic jaringan tertentu daripada yang lain saat resource jaringan terbatas atau padat. Anda dapat menggunakan pemberian tag Titik Kode Layanan yang Berbeda (DSCP) untuk memprioritaskan traffic di jaringan IP modern.

Untuk mengetahui informasi tentang cara menggunakan pemberian tag DSCP, lihat Mengonfigurasi pemberian tag DSCP.

Cara kerja pemberian tag EgressDSCP

Kualitas Layanan (QoS) mengelola traffic jaringan untuk memastikan aplikasi penting berfungsi dalam situasi dengan bandwidth rendah. Pemberian tag DSCP keluar memungkinkan Anda memberi tag pada paket dengan nilai DSCP di header IP untuk mengomunikasikan tingkat prioritas ke perangkat jaringan downstream.

Workload yang didukung

Pemberian tag DSCP keluar mendukung prioritas traffic untuk workload Google Distributed Cloud berikut:

  • Beban kerja container: Pod dan layanan Kubernetes yang berjalan di cluster.
  • Virtual Machine (VM): Workload VM yang berjalan melalui runtime VM, asalkan terhubung ke jaringan default.

Jenis resource untuk pemberian tag DSCP

Distributed Cloud menggunakan resource kustom tertentu untuk mengelola tag DSCP. Anda menentukan prioritas paket menggunakan objek berikut:

  • EgressDSCP: Resource kustom yang menentukan nilai DSCP tertentu untuk disisipkan ke dalam header IP paket traffic yang dipilih. Objek ini menerima nilai bilangan bulat dari 0 hingga 63.
  • TrafficSelector: Resource kustom yang secara tepat memilih alur traffic jaringan. Resource ini menerima bilangan bulat prioritas dari 0 hingga 65535, dengan default 1000. Objek TrafficSelector mereferensikan objek EgressDSCP untuk menerapkan tindakan tertentu pada traffic yang diidentifikasi. Meskipun menggunakan TrafficSelector yang tercakup dalam namespace, Anda harus menyertakan pemilih namespace untuk mengidentifikasi secara eksplisit namespace pod yang memulai traffic yang ditargetkan.

Penyelesaian konflik

Jika beberapa resource TrafficSelector berlaku untuk subjek yang sama, sistem menggunakan hierarki tertentu untuk menentukan prioritas. Sistem menyelesaikan konflik menggunakan prinsip-prinsip berikut secara berurutan:

  1. Prioritas: Sistem menerapkan TrafficSelector dengan nilai prioritas numerik terendah.
  2. Kekhususan rentang CIDR: Jika aturan memiliki prioritas yang sama, sistem akan menerapkan aturan dengan batas CIDR paling spesifik (kecocokan awalan terpanjang).
  3. Spesifisitas port: Jika aturan memiliki prioritas dan rentang CIDR yang sama, sistem akan menerapkan aturan dengan port yang paling spesifik.

Jika aturan CIDR yang lebih spesifik memiliki prioritas yang lebih tinggi secara numerik (didahulukan lebih rendah), sistem akan menerapkan aturan yang lebih luas dan mengabaikan aturan yang lebih spesifik.

Contoh bayangan

Pertimbangkan dua aturan TrafficSelector berikut yang diterapkan ke tujuan yang sama:

  • Aturan A: Prioritas 100, CIDR Tujuan 192.168.1.0/24, menandai DSCP 40.
  • Aturan B: Prioritas 200, CIDR Tujuan 192.168.1.15/32, menandai DSCP 46.

Meskipun Aturan B menentukan CIDR tujuan yang lebih presisi (192.168.1.15/32), sistem memprioritaskan Aturan A karena memiliki nilai prioritas yang lebih rendah secara numerik (100). Akibatnya, sistem mengabaikan Aturan B dan menerapkan tag DSCP 40 ke semua traffic keluar yang diarahkan ke 192.168.1.15.

Batasan

Fitur pemberian tag DSCP mencakup beberapa batasan untuk penerapan saat ini:

  • Traffic keluar eksternal: Anda hanya dapat memberi tag pada traffic utara-selatan yang keluar dari cluster, seperti traffic keluar yang dimulai oleh workload dan traffic kembali dari layanan Kubernetes ke klien eksternal.
  • Tidak ada penerapan internal: Meskipun sistem menandai traffic intra-cluster, Kubernetes tidak menerapkan kebijakan QoS secara internal berdasarkan tag ini.
  • Penandaan saja: Sistem hanya menandai header IP. Anda harus mengonfigurasi infrastruktur jaringan fisik upstream untuk menangani penerapan QoS yang sebenarnya.
  • Protokol yang didukung: Anda hanya dapat memberi tag pada traffic IPv4.
  • Layanan yang didukung: Anda hanya dapat memberi tag pada traffic untuk layanan LoadBalancer dan NodePort.
  • Jaringan Virtual Machine: Anda hanya dapat memberi tag pada workload VM yang terhubung ke jaringan default.
  • Pengaktifan fitur: Anda harus mengaktifkan fitur dengan menambahkan anotasi preview.baremetal.cluster.gke.io/traffic-selector: "enable" ke resource cluster.
  • Default jalur kembali: Untuk traffic jalur kembali, nilai DSCP secara default adalah 0, kecuali jika dikonfigurasi secara eksplisit.

Pertimbangan keamanan

Pengguna yang tidak sah dapat menandai traffic yang tidak penting dengan nilai DSCP yang lebih tinggi, sehingga mengganggu layanan penting di seluruh cluster.

Untuk mengurangi risiko keamanan, batasi akses menggunakan Kontrol Akses Berbasis Peran (RBAC) Kubernetes:

  • Kontrol di seluruh cluster: Batasi izin untuk membuat atau mengubah resource EgressDSCP yang tercakup dalam cluster hanya untuk administrator cluster tepercaya.
  • Kontrol namespace: Kelola resource TrafficSelector menurut namespace sehingga pengguna hanya dapat memengaruhi beban kerja tertentu mereka.

Langkah berikutnya