Referensi Cloud Service Mesh GKE API

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

TDMesh

Kolom Deskripsi
apiVersion string
net.gke.io/v1alpha1
kind string
TDMesh
metadata Kubernetes ObjectMeta
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
  • Ready
Untuk mengetahui 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 yang disukai untuk `GRPCRoute.`
Status GRPCRouteStatus
Sama seperti HTTPRouteStatus.

GRPCRouteSpec

Spesifikasi TDGRPCRoute terdiri dari nilai-nilai dalam tabel berikut:

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

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

Hostname dapat berupa "akurat" yang merupakan nama domain tanpa titik

penghentian dari host jaringan (misalnya, butterfly.example.com) atau wildcard, yang merupakan nama domain yang diawali dengan label karakter pengganti tunggal, misalnya, `*.example.com`. Karakter pengganti `*` harus muncul sendiri sebagai label DNS pertama dan hanya cocok dengan satu label. Anda tidak boleh memiliki label karakter pengganti sendirian (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 matcher, 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 pencocokan permintaan gRPC. Setiap kecocokan bersifat independen. Dengan kata lain, aturan ini akan dicocokkan jika ada satu kecocokan yang terpenuhi.
BackendRefs []GRPCBackendRef

Menentukan backend tempat permintaan yang cocok harus dikirim. Jika tidak ditentukan atau tidak valid (merujuk 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 ditetapkan sebagai berikut:


Kolom

Deskripsi
Metode GRPCMethodMatch

Menentukan metode gRPC yang akan dicocokkan.
Header []GRPCHeaderMatch
Menentukan matcher header permintaan gRPC. Beberapa nilai kecocokan digabungkan dengan operasi AND, 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, kolom akan cocok dengan semua layanan.
Metode string

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

GRPCHeaderMatch terdiri dari hal berikut:

Kolom Deskripsi
Jenis HeaderMatchType

Menentukan cara mencocokkan dengan nilai header.
Name String

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

Nilai adalah nilai header HTTP yang akan dicocokkan.
Referensi Backend GRPC
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.