Referensi Cloud Service Mesh GKE API

Dokumen ini adalah referensi API untuk Cloud Service Mesh dengan Kubernetes Gateway API.

TDMesh

Kolom Deskripsi
apiVersion string
net.gke.io/v1alpha1
kind string
TDMesh
metadata ObjectMeta Kubernetes
spec MeshSpec
status MeshStatus

MeshSpec

Kolom Deskripsi
allowedRoutes gateway.networking.k8s.io/v1.AllowedRoutes
gatewayClassName string
gke-td

MeshStatus

Kolom Deskripsi
conditions Kolom kondisi menjelaskan kondisi Mesh saat ini.
Jenis kondisi yang diketahui:
  • Dijadwalkan
  • Siap
Untuk informasi selengkapnya, baca Kubernetes meta/v1.23Condition.

GatewayClass

Lihat dokumentasi referensi untuk GatewayClass.

TDGRPCRoute

TDGRPCRoute menentukan perilaku pemilihan rute permintaan gRPC dari pemroses TDMesh atau Gateway ke objek API, misalnya, Service.

Kolom Deskripsi
apiVersion string
net.gke.io/v1alpha1
kind string
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
Menentukan status `GRPCRoute` yang diinginkan.
Status GRPCRouteStatus
Sama dengan HTTPRouteStatus.

GRPCRouteSpec

Spesifikasi TDGRPCRoute terdiri dari nilai-nilai dalam tabel berikut:

Kolom Deskripsi
CommonRouteSpec CommonRouteSpec
Hostnames []Hostname
Hostname menentukan kumpulan nama host yang harus cocok dengan header Host gRPC untuk memilih GRPCRoute guna memproses permintaan.

Hostname adalah nama domain yang sepenuhnya memenuhi syarat dari host jaringan, seperti yang ditentukan oleh RFC 3986. Perhatikan penyimpangan berikut dari bagian "host" URI seperti yang ditentukan dalam RFC:
  • Alamat IP tidak diizinkan.
  • Pembatas `:` tidak diterapkan karena port tidak diizinkan.
Permintaan masuk dicocokkan dengan nama host sebelum aturan TDGRPCRoute. Jika tidak ada nama host yang ditentukan, traffic akan dirutekan berdasarkan GRPCRouteRules.

Hostname dapat "persis", yaitu nama domain tanpa titik penutup

host jaringan (misalnya, butterfly.example.com) atau wildcard, yang merupakan nama domain yang diawali dengan satu label karakter pengganti, misalnya, `*.example.com`. Karakter pengganti `*` harus muncul sendiri sebagai label DNS pertama dan hanya cocok dengan satu label. Anda tidak dapat memiliki label karakter pengganti itu sendiri (misalnya, Host == "*"). Permintaan dicocokkan dengan kolom `Host` dalam urutan berikut:
  • Jika Host akurat, permintaan akan cocok dengan aturan ini jika header host gRPC sama dengan Host.
  • Jika Host adalah karakter pengganti, permintaan akan cocok dengan aturan ini jika header host gRPC sama dengan akhiran (menghapus label pertama) dari aturan karakter pengganti.
Rules []GRPCRouteRule
Menentukan daftar pencocok, filter, dan tindakan gRPC.

GRPCRouteRule

Aturan menentukan semantik untuk mencocokkan permintaan gRPC berdasarkan kondisi, dan secara opsional meneruskan permintaan ke objek API. Aturan terdiri dari hal berikut:

Kolom Deskripsi
Matches GRPCRouteMatch
Menentukan kondisi yang digunakan untuk mencocokkan permintaan gRPC. Setiap kecocokan bersifat independen. Dengan kata lain, aturan ini cocok jika satu kecocokan terpenuhi.
BackendRefs []GRPCBackendRef

Menentukan backend tempat permintaan yang cocok harus dikirim. Jika tidak ditentukan atau tidak valid (mengacu pada resource yang tidak ada atau Layanan tanpa endpoint), aturan tidak akan melakukan penerusan.

GRPCBackendRef sama dengan HTTPBackendRef.
GRPCRouteMatch

Aturan menentukan semantik untuk mencocokkan permintaan gRPC berdasarkan kondisi, dan secara opsional meneruskan permintaan ke objek API. Aturan ditentukan sebagai berikut:


Kolom

Deskripsi
Metode GRPCMethodMatch

Menentukan metode gRPC yang akan dicocokkan.
Header []GRPCHeaderMatch
Menentukan pencocok header permintaan gRPC. Beberapa nilai pencocokan digabungkan dengan operasi DAN, yang berarti permintaan harus cocok dengan semua header yang ditentukan untuk memilih rute.
Catatan: Definisi GRPCHeaderMatch sama dengan `HTTPHeaderMatch`.
GRPCMethodMatch

GRPCMethodMatch terdiri dari hal berikut:

Kolom Deskripsi
Jenis MethodMatchType

Menentukan jenis yang menentukan cara mencocokkan nama. Jika tidak ditentukan, nilai default EXACT akan digunakan. Anda dapat memilih EXACT atau RegularExpression.
Layanan string

Menentukan nama layanan yang akan dicocokkan. Jika tidak ditentukan, akan cocok dengan semua layanan.
Metode string

Menentukan metode yang akan dicocokkan. Jika tidak ditentukan, metode ini akan cocok dengan semua metode.
GRPCHeaderMatch

GRPCHeaderMatch terdiri dari hal berikut:

Kolom Deskripsi
Jenis HeaderMatchType

Menentukan cara mencocokkan dengan nilai header.
Nama String

Nama adalah nama header gRPC yang akan dicocokkan. Pencocokan nama tidak boleh peka huruf besar/kecil. (Lihat https://tools.ietf.org/html/rfc7230#section-3.2).
Nilai String

Nilai adalah nilai header HTTP yang akan dicocokkan.
GRPCBackendRef
Kolom Deskripsi
BackendRef BackendRef

`BackendRef` adalah referensi ke backend untuk meneruskan permintaan yang cocok.

HTTPRoute

Lihat referensi Gateway API open source untuk HTTPRoute.

TCPRoute

Lihat referensi Gateway API open source untuk TCPRoute.