Dengan mengaktifkan kompresi pada gerbang masuk ASM, respons HTTP akan dikompresi sehingga meningkatkan kecepatan respons dan mengurangi penggunaan bandwidth. Topik ini menjelaskan cara mengaktifkan kompresi untuk gerbang masuk ASM.
Prasyarat
Gerbang masuk telah diterapkan. Untuk informasi selengkapnya, lihat Buat gerbang masuk.
-
Jika Anda menggunakan nama domain, domain tersebut harus memiliki pengajuan Internet Content Provider (ICP) agar dapat diakses.
Prosedur
-
Terapkan Nginx di kluster ACK.
-
Buat file bernama nginx.yaml dengan konten berikut.
-
Jalankan perintah berikut untuk menerapkan aplikasi Nginx.
kubectl apply -f nginx.yaml
-
-
Buat VirtualService dan Gateway.
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, temukan instans ASM yang ingin Anda konfigurasi. Klik nama instans ASM atau klik Manage di kolom Actions.
-
Di halaman detail instans ASM, pilih di panel navigasi kiri. Di halaman yang muncul, klik Create from YAML.
-
Di halaman Create, pilih Namespaces yang dituju, tempel konten berikut ke editor kode, lalu klik Create.
apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: nginx namespace: default spec: gateways: - nginx-gateway hosts: - '*' http: - match: - uri: exact: / route: - destination: host: nginx port: number: 80 -
Di halaman detail instans ASM, pilih di panel navigasi kiri. Di halaman yang muncul, klik Create from YAML.
-
Di halaman Create, pilih Namespaces yang dituju, tempel konten berikut ke editor kode, lalu klik Create.
apiVersion: networking.istio.io/v1beta1 kind: Gateway metadata: name: nginx-gateway namespace: default spec: selector: istio: ingressgateway servers: - hosts: - '*' port: name: http number: 80 protocol: HTTP
-
-
Aktifkan kompresi untuk gerbang masuk ASM.
-
Di panel navigasi kiri, pilih .
-
Di halaman Ingress Gateway, temukan ingressgateway dan klik View YAML di kolom Actions.
-
Di kotak dialog Edit, tambahkan konten berikut, lalu klik OK.
compression: content_type: - text/html enabled: true gzip: memory_level: 9 remove_accept_encoding_header: trueTabel berikut menjelaskan bidang-bidang kompresi utama. Untuk informasi selengkapnya tentang bidang kompresi, lihat Kelola gerbang masuk menggunakan Kubernetes API.
Parameter
Deskripsi
compression.content_type
Daftar tipe konten yang akan dikompresi.
compression.enabled
Menentukan apakah kompresi diaktifkan untuk gerbang masuk.
compression.gzip
Tingkat memori untuk kompresi Gzip.
compression.remove_accept_encoding_header
-
Jika diatur ke
true, gerbang masuk akan menghapus header Accept-Encoding dari permintaan klien sebelum meneruskannya ke layanan hulu. -
Jika diatur ke
false, gerbang masuk akan mempertahankan header Accept-Encoding dalam permintaan klien sebelum meneruskannya ke layanan hulu.
-
-
Verifikasi kompresi
-
Buka developer tools browser Anda. Panduan ini menggunakan Google Chrome sebagai contoh.
-
Di pojok kanan atas Google Chrome, klik ikon
. -
Pilih .
-
-
Akses aplikasi Nginx.
Masuk ke Konsol ACK atau . Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Di halaman Services, atur Namespace ke istio-system, lalu temukan alamat IP layanan istio-ingressgateway (port 80) di kolom External IP.
-
Di bilah alamat browser Anda, masukkan alamat IP eksternal layanan istio-ingressgateway.
Anda dapat melihat bahwa
Content-Encodingdalam respons adalahgzip, yang menunjukkan bahwa kompresi telah berhasil diaktifkan untuk gerbang masuk ASM. Di panel Network, pilih salah satu permintaan dan periksa Response Headers untuk memastikan bahwa header tersebut berisicontent-encoding: gzip. Hal ini menunjukkan bahwa gerbang masuk ASM telah berhasil mengaktifkan kompresi gzip.