Halaman ini menunjukkan cara mengontrol cara traffic eksternal mencapai Layanan Anda di cluster Google Kubernetes Engine (GKE) menggunakan Tingkatan Layanan Jaringan. Tingkat Layanan Jaringan memungkinkan Anda mengoptimalkan traffic jaringan untuk performa (Paket Premium) atau penghematan biaya (Paket Standar).
Paket Premium mengirimkan traffic di jaringan backbone premium Google untuk kecepatan dan keandalan yang lebih tinggi. Sebaliknya, Paket Standar menggunakan jaringan penyedia layanan internet (ISP) reguler yang menawarkan solusi yang lebih hemat biaya.
Halaman ini ditujukan untuk arsitek Cloud dan spesialis Jaringan yang mendesain dan membangun arsitektur jaringan organisasi mereka. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE umum.
Cara kerja Network Service Tiers di GKE
Bagian ini menunjukkan cara mengelola Tingkatan Layanan Jaringan di GKE.
Menetapkan tingkat jaringan di tingkat project: Anda dapat menetapkan tingkat jaringan default untuk project Google Cloud agar menggunakan Tingkat Standar atau Tingkat Premium. Semua cluster baru dibuat dengan setelan
network-default
, yang mewarisi setelan tingkat project. Setelan ini tetap ada selama upgrade cluster. Node pool yang dibuat dalam cluster mewarisi tingkat jaringan dari konfigurasi tingkat project.Menetapkan tingkat jaringan saat membuat cluster baru: Anda dapat mengonfigurasi tingkat jaringan saat membuat cluster baru, terlepas dari setelan tingkat di project Google Cloud Anda. Node pool baru menggunakan tingkat jaringan level cluster, dan konfigurasi ini tetap ada meskipun setelah Anda mengupgrade node pool.
Menetapkan tingkat jaringan saat mengupdate cluster: Anda dapat mengonfigurasi tingkat jaringan saat mengupdate cluster yang ada. Kumpulan node baru dan Layanan LoadBalancer baru mewarisi konfigurasi tingkat yang diperbarui, sementara kumpulan node dan Layanan yang ada terus menggunakan konfigurasi tingkat jaringan asli. Konfigurasi tingkat yang diperbarui akan tetap ada setelah Anda mengupgrade cluster.
Menetapkan tingkat jaringan saat memperbarui Layanan LoadBalancer: Layanan LoadBalancer mewarisi tingkat jaringan cluster. Namun, Anda dapat mengganti setelan ini dan mengupdate tingkat jaringan di manifes Layanan.
Network Service Tiers dan load balancing
Secara default, Load Balancer Jaringan passthrough eksternal menggunakan Paket Premium. Anda dapat memperbarui konfigurasi ini sehingga Layanan LoadBalancer menggunakan Tingkat Standar.
Jika menggunakan Load Balancer Aplikasi dengan Gateway, Anda tidak dapat mengonfigurasi Network Service Tiers. Network Service Tiers di Gateway dikontrol oleh resource GatewayClass. Untuk mengetahui informasi selengkapnya, lihat Alamat IP gateway.
Ingress GKE untuk Load Balancer Aplikasi eksternal tidak mendukung Paket Standar untuk perutean traffic.
Sebelum memulai
Sebelum memulai, pastikan Anda telah melakukan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
Pembatasan
Berlaku batasan berikut:
- Anda dapat mengonfigurasi setelan tingkat jaringan hanya di tingkat project atau tingkat cluster. Anda tidak dapat mengonfigurasi tingkat jaringan node pool secara langsung.
- Paket Standar tidak didukung untuk alamat IPv4 atau IPv6 stack ganda eksternal global. Untuk mengetahui informasi selengkapnya tentang jenis alamat IP, lihat Alamat IP.
Membuat cluster dengan Network Service Tiers
Untuk membuat cluster dan menentukan tingkat jaringan, jalankan perintah berikut:
gcloud container clusters create CLUSTER_NAME \
--network-tier=NETWORK_TIER \
...
Ganti nilai berikut:
CLUSTER_NAME
: nama cluster Anda.NETWORK_TIER
: setelan tingkat jaringan. Gunakannetwork-default
untuk setelan tingkat yang sama dengan yang ada di project Google Cloud Anda,Standard
untuk Paket Standar atauPremium
untuk Paket Premium.
Memigrasikan cluster yang ada ke tingkat yang berbeda
Memperbarui tingkat jaringan cluster tidak akan memengaruhi tingkat jaringan resource yang ada. Resource yang ada akan terus menggunakan alamat IP yang terkait dengan tingkat jaringan lama. Untuk menghindari gangguan layanan, ikuti langkah-langkah berikut saat Anda memigrasikan cluster ke tingkat jaringan baru:
Perbarui cluster: untuk memperbarui cluster yang ada dengan tingkat jaringan, jalankan perintah berikut:
gcloud container clusters update CLUSTER_NAME \ --network-tier=NETWORK_TIER \ ...
Ganti nilai berikut:
CLUSTER_NAME
: nama cluster Anda.NETWORK_TIER
: setelan tingkat jaringan. Gunakannetwork-default
untuk setelan tingkat yang sama dengan yang ada di project Google Cloud Anda,Standard
untuk Paket Standar atauPremium
untuk Paket Premium.
Buat node pool dan Layanan baru: agar klien eksternal dapat menggunakan alamat IP baru yang terkait dengan tingkat jaringan baru, Anda harus membuat node pool baru dan Layanan LoadBalancer baru. Node pool baru dan Layanan LoadBalancer baru mewarisi konfigurasi tingkat yang diperbarui, sementara node pool dan Layanan yang ada akan terus menggunakan konfigurasi tingkat jaringan asli.
Perbarui data DNS: ubah data DNS Anda agar mengarah ke alamat IP baru dari Layanan LoadBalancer yang baru.
Tunggu hingga DNS dipropagasi: tunggu hingga Time to Live (TTL) DNS berakhir untuk memastikan klien diarahkan ke layanan baru dan untuk menghindari penyajian data yang sudah tidak berlaku.
Memperbarui load balancer eksternal dengan Network Service Tiers
Untuk Load Balancer Jaringan passthrough eksternal, GKE secara default menggunakan tingkat jaringan yang dikonfigurasi di cluster untuk aturan penerusan eksternal dan alamat IP. Jika
tingkat jaringan cluster ditetapkan ke network-default
, load balancer akan menggunakan
Paket Premium. Anda dapat mengganti setelan ini dengan mengonfigurasi
anotasi cloud.google.com/network-tier
di manifes Service. Contoh:
```yaml
apiVersion: v1
kind: Service
metadata:
name: store-v1-lb-svc
annotations:
cloud.google.com/l4-rbs: "enabled"
cloud.google.com/network-tier: Standard
spec:
type: LoadBalancer
selector:
app: store
ports:
- name: tcp-port
protocol: TCP
port: 8080
targetPort: 8080
```
Untuk mengetahui informasi selengkapnya tentang parameter yang digunakan untuk Layanan LoadBalancer, lihat Parameter layanan.
Alamat IP statis: saat Anda membuat Layanan dengan alamat IP statis,
tingkat jaringan alamat IP statis harus cocok dengan tingkat jaringan Layanan
LoadBalancer. Jika ada ketidakcocokan, Anda akan melihat pesan error berikut saat menjalankan perintah kubectl describe service
:
Error syncing load balancer: failed to ensure load balancer: requested ip "standard-service" is neither static nor assigned to the LB
Langkah berikutnya
- Baca ringkasan Network Service Tiers.
- Pelajari cara membuat load balancer eksternal berbasis layanan backend.