Halaman ini menjelaskan aturan firewall yang dibuat secara otomatis oleh Google Kubernetes Engine (GKE) di Google Cloud.
Selain aturan khusus GKE yang tercantum di halaman ini, dengan secara default, project Google Cloud menyertakan Firewall yang sudah diisi sebelumnya aturan. Cluster GKE yang biasanya di-deploy di dalam jaringan VPC. Aturan-aturan ini memberikan akses jaringan penting untuk cluster GKE. Aturan-aturan tersebut memadai untuk operasi cluster dasar, tetapi Anda mungkin perlu membuat aturan tergantung pada kebutuhan khusus Anda.
Aturan firewall
GKE membuat aturan firewall secara otomatis saat membuat resource berikut:
- Cluster GKE
- Layanan GKE
- Gateway GKE dan HTTPRoute
- Ingress GKE
Kecuali jika ditentukan lain, prioritas untuk semua aturan firewall yang dibuat secara otomatis adalah 1000, yang merupakan nilai default untuk aturan firewall. Jika Anda ingin mengendalikan perilaku firewall dengan lebih baik, Anda dapat membuat aturan firewall dengan prioritas yang lebih tinggi. Aturan firewall dengan prioritas yang lebih tinggi diterapkan sebelum aturan firewall yang dibuat secara otomatis.
Aturan firewall cluster GKE
GKE membuat aturan firewall masuk berikut saat membuat cluster:
Nama | Tujuan | Asal | Target (menentukan tujuan) | Protokol dan port | Prioritas |
---|---|---|---|---|---|
gke-[cluster-name]-[cluster-hash]-master |
Khusus untuk cluster Autopilot pribadi dan Standar. Mengizinkan control plane untuk mengakses kubelet dan server metrik pada node cluster. | Rentang alamat IP control plane (/28) | Tag node | TCP: 443 (server-metrik) dan TCP: 10250 (kubelet) | 1000 |
gke-[cluster-name]-[cluster-hash]-vms
|
Digunakan untuk komunikasi intra-cluster yang diperlukan oleh model jaringan Kubernetes. Memungkinkan software yang berjalan di node mengirim paket, dengan sumber yang cocok dengan alamat IP node, ke IP Pod tujuan dan alamat IP node di cluster. Misalnya, traffic yang diizinkan oleh aturan ini mencakup:
|
Rentang alamat IP node atau superset rentang alamat IP node ini:
|
Tag node | TCP: 1-65535, UDP: 1-65535, ICMP | 1000 |
gke-[cluster-name]-[cluster-hash]-all |
Mengizinkan traffic antara semua Pod di cluster, seperti yang diwajibkan oleh model jaringan Kubernetes. |
Pod CIDR Untuk cluster dengan CIDR multi-Pod terfragmentasi yang diaktifkan, semua blok CIDR Pod yang digunakan oleh cluster tersebut. |
Tag node | TCP, UDP, SCTP, ICMP, ESP, AH | 1000 |
gke-[cluster-hash]-ipv6-all |
Hanya untuk cluster jaringan dual-stack. Mengizinkan traffic antara node dan Pod di cluster. |
Rentang alamat IP yang sama dialokasikan di |
Tag node | TCP, UDP, SCTP, ICMP untuk IPv6, ESP, AH | 1000 |
gke-[cluster-name]-[cluster-hash]-inkubelet |
Mengizinkan akses ke port 10255 (port hanya baca Kubelet) dari CIDR Pod internal dan CIDR Node di cluster GKE baru yang menjalankan versi 1.23.6 atau yang lebih baru. Cluster yang menjalankan versi yang lebih baru dari 1.26.4-gke.500 menggunakan Kubelet porta yang diotentikasi (10250). Jangan tambahkan pemblokiran aturan firewall 10.250 dalam cluster. |
CIDR Pod Internal dan CIDR Node. |
Tag node | TCP: 10255 | 999 |
gke-[cluster-name]-[cluster-hash]-exkubelet |
Menolak akses publik ke port 10255 di cluster GKE baru yang menjalankan versi 1.23.6 atau yang lebih baru. |
0.0.0.0/0 |
Tag node | TCP: 10255 | 1000 |
Aturan firewall Layanan GKE
GKE membuat aturan firewall ingress berikut saat membuat Service:
Nama | Tujuan | Asal | Target (menentukan tujuan) | Protokol dan port |
---|---|---|---|---|
k8s-fw-[loadbalancer-hash] |
Mengizinkan traffic masuk untuk menjangkau Layanan. | Sumber berasal dari spec.loadBalancerSourceRanges . Nilai defaultnya adalah 0.0.0.0/0 jika spec.loadBalancerSourceRanges dihilangkan.
Untuk mengetahui detail selengkapnya, lihat Aturan firewall dan daftar alamat IP sumber yang diizinkan. |
Alamat IP virtual LoadBalancer | TCP dan UDP pada port yang ditentukan dalam manifes Layanan. |
k8s-[cluster-id]-node-http-hc |
Mengizinkan health check layanan Load Balancer Jaringan passthrough eksternal jika externalTrafficPolicy ditetapkan ke Cluster . |
|
Alamat IP virtual LoadBalancer | TCP: 10256 |
k8s-[loadbalancer-hash]-http-hc |
Mengizinkan health check layanan Load Balancer Jaringan passthrough eksternal jika externalTrafficPolicy ditetapkan ke Local . |
|
Tag node | Port TCP ditentukan oleh spec.healthCheckNodePort . Setelan defaultnya adalah nomor port TCP 10256 jika spec.healthCheckNodePort dihilangkan.
Untuk mengetahui detail selengkapnya, lihat Port health check. |
k8s-[cluster-id]-node-hc |
Mengizinkan health check layanan Load Balancer Jaringan passthrough internal jika externalTrafficPolicy ditetapkan ke Cluster .
|
|
Tag node | TCP: 10256 |
[loadbalancer-hash]-hc |
Mengizinkan health check layanan Load Balancer Jaringan passthrough internal jika externalTrafficPolicy ditetapkan ke Local .
|
|
Tag node | Port TCP ditentukan oleh spec.healthCheckNodePort . Setelan defaultnya adalah nomor port TCP 10256 jika spec.healthCheckNodePort dihilangkan.
Untuk mengetahui detail selengkapnya, lihat Port health check. |
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash] |
Mengizinkan traffic masuk untuk menjangkau Layanan jika salah satu hal berikut diaktifkan:
|
Sumber berasal dari spec.loadBalancerSourceRanges . Nilai defaultnya adalah 0.0.0.0/0 jika spec.loadBalancerSourceRanges dihilangkan.
Untuk mengetahui detail selengkapnya, lihat Aturan firewall dan daftar alamat IP sumber yang diizinkan. |
Alamat IP virtual LoadBalancer | TCP dan UDP pada port yang ditentukan dalam manifes Layanan. |
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash]-fw |
Mengizinkan health check Layanan jika externalTrafficPolicy ditetapkan ke Local dan salah satu dari hal berikut diaktifkan:
|
|
Alamat IP virtual LoadBalancer | Port TCP ditentukan oleh spec.healthCheckNodePort . Setelan defaultnya adalah nomor port TCP 10256 jika spec.healthCheckNodePort dihilangkan.
Untuk mengetahui detail selengkapnya, lihat Port health check. |
k8s2-[cluster-id]-l4-shared-hc-fw |
Mengizinkan health check Layanan jika externalTrafficPolicy ditetapkan ke Cluster dan salah satu dari hal berikut diaktifkan:
|
|
Tag node | TCP: 10256 |
Aturan firewall Gateway GKE
GKE membuat aturan firewall Gateway berikut saat membuat Gateway dan Resource HTTPRoute:
Nama | Tujuan | Asal | Target (menentukan tujuan) | Protokol dan port |
---|---|---|---|---|
|
Mengizinkan health check grup endpoint jaringan (NEG). Pengontrol Gateway membuat aturan ini saat resource Gateway pertama dibuat. Pengontrol Gateway dapat memperbarui aturan ini jika resource Gateway lainnya dibuat. |
|
Tag node | TCP: semua port target container (untuk NEG) |
Aturan firewall GKE Ingress
GKE membuat aturan firewall Ingress berikut saat membuat Resource Ingress:
Nama | Tujuan | Asal | Target (menentukan tujuan) | Protokol dan port |
---|---|---|---|---|
k8s-fw-l7-[random-hash] |
Mengizinkan health check untuk Layanan Pengontrol Ingress membuat aturan ini saat resource Ingress pertama dibuat. Pengontrol Ingress dapat memperbarui aturan ini jika lebih banyak resource Ingress dibuat. |
|
Tag node | TCP: 30000-32767, TCP:80 (untuk Load Balancer Aplikasi internal), TCP: semua port target container (untuk NEG) |
VPC Bersama
Jika cluster yang terletak di VPC Bersama menggunakan jaringan VPC Bersama, pengontrol Ingress tidak dapat menggunakan akun layanan GKE dalam project layanan untuk membuat dan mengupdate aturan firewall izinkan masuk dalam project host ini. Anda dapat memberikan izin pada akun layanan GKE untuk membuat dan mengelola resource firewall. Untuk informasi selengkapnya, lihat VPC Bersama.
Aturan firewall yang diperlukan untuk subnet yang diperluas
Jika Anda memperluas rentang IPv4 utama subnet cluster, GKE tidak secara otomatis mengupdate rentang sumber aturan firewall gke-[cluster-name]-[cluster-hash]-vms
. Karena node dalam
cluster dapat menerima alamat IPv4 dari bagian yang diperluas dalam rentang
IPv4 utama subnet, Anda harus membuat aturan firewall secara manual untuk memungkinkan
komunikasi antar-node cluster.
Aturan firewall masuk yang harus Anda buat harus mengizinkan paket TCP dan ICMP dari rentang sumber IPv4 subnet utama yang diperluas, dan setidaknya harus berlaku untuk semua node dalam cluster.
Untuk membuat aturan firewall masuk yang hanya berlaku pada node cluster, tetapkan target aturan firewall ke tag target yang sama dengan yang digunakan oleh aturan firewall gke-[cluster-name]-[cluster-hash]-vms
cluster Anda yang dibuat otomatis.
Urutan evaluasi aturan
Jika Anda menggunakan firewall kebijakan selain Aturan firewall VPC secara default, Google Cloud mengevaluasi aturan firewall sebelum kebijakan firewall jaringan (baik global maupun regional). Jika Anda mengubah evaluasi aturan pesanan, traffic mungkin tidak menjangkau cluster GKE Anda. Untuk selengkapnya informasi, lihat Evaluasi kebijakan dan aturan pesanan.
Logging aturan firewall
Logging aturan firewall dinonaktifkan secara default. Untuk mengaktifkan logging untuk aturan firewall, gunakan
perintah --enable-logging
.
Langkah berikutnya
- Baca ringkasan jejaring di GKE.
- Pelajari cara Mengonfigurasi kebijakan jaringan untuk aplikasi.
- Pelajari Aturan firewall prepopulated lainnya di Google Cloud.
- Pelajari lebih lanjut cara Membuat aturan firewall dalam project yang menggunakan VPC Bersama.