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 dari0hingga63.TrafficSelector: Resource kustom yang secara tepat memilih alur traffic jaringan. Resource ini menerima bilangan bulat prioritas dari0hingga65535, dengan default1000. ObjekTrafficSelectormereferensikan objekEgressDSCPuntuk menerapkan tindakan tertentu pada traffic yang diidentifikasi. Meskipun menggunakanTrafficSelectoryang 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:
- Prioritas: Sistem menerapkan
TrafficSelectordengan nilai prioritas numerik terendah. - Kekhususan rentang CIDR: Jika aturan memiliki prioritas yang sama, sistem akan menerapkan aturan dengan batas CIDR paling spesifik (kecocokan awalan terpanjang).
- 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 Tujuan192.168.1.0/24, menandai DSCP40. - Aturan B: Prioritas
200, CIDR Tujuan192.168.1.15/32, menandai DSCP46.
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
LoadBalancerdanNodePort. - 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
EgressDSCPyang tercakup dalam cluster hanya untuk administrator cluster tepercaya. - Kontrol namespace: Kelola resource
TrafficSelectormenurut namespace sehingga pengguna hanya dapat memengaruhi beban kerja tertentu mereka.