Halaman ini menjelaskan cara menonaktifkan aturan firewall VPC yang mengizinkan traffic masuk yang dibuat GKE untuk Layanan LoadBalancer.
Menonaktifkan aturan firewall yang dibuat secara otomatis untuk Layanan LoadBalancer dapat berguna dalam situasi berikut:
- Jika Anda memiliki beberapa Layanan LoadBalancer di dua atau beberapa cluster GKE, mengelola aturan firewall sendiri dapat lebih efisien. Misalnya, bukannya meminta GKE membuat aturan firewall unik untuk setiap Layanan LoadBalancer, aturan firewall yang Anda buat secara manual dapat mengizinkan traffic masuk untuk beberapa Layanan LoadBalancer.
- Anda dapat menggunakan Kebijakan firewall hierarkis, kebijakan firewall jaringan global, atau kebijakan firewall jaringan regional, bukan aturan firewall VPC. Aturan dalam kebijakan firewall ini mendukung tindakan tambahan, target yang lebih fleksibel, dan fitur seperti geolokasi, kecerdasan ancaman, grup alamat, dan FQDN.
Untuk menonaktifkan aturan firewall yang dibuat otomatis untuk Layanan LoadBalancer, Anda harus menentukan tanda --disable-l4-lb-firewall-reconciliation
saat membuat atau memperbarui cluster. Flag --disable-l4-lb-firewall-reconciliation
tidak memengaruhi aturan firewall VPC lain yang dibuat secara otomatis, seperti aturan yang memfasilitasi komunikasi antar-node atau aturan yang mengizinkan health check untuk Layanan Anda.
Persyaratan
- Untuk menggunakan aturan firewall yang dikelola pengguna untuk Layanan LoadBalancer, cluster GKE Anda harus menggunakan versi 1.31.3-gke.105600 atau yang lebih baru.
Batasan
GKE mendukung penonaktifan pembuatan aturan firewall secara otomatis untuk jenis Layanan LoadBalancer berikut:
- Service LoadBalancer Internal menggunakan subkumpulan GKE
- Layanan LoadBalancer eksternal berbasis layanan backend
Anda tidak dapat menonaktifkan pembuatan otomatis aturan firewall untuk jenis Layanan LoadBalancer berikut:
- Service LoadBalancer Internal yang tidak menggunakan subsetelan GKE
- Layanan LoadBalancer eksternal berbasis kumpulan target
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan 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
.
Strategi untuk pengelolaan aturan firewall manual
Sebelum menonaktifkan pembuatan otomatis aturan firewall VPC untuk Layanan LoadBalancer di cluster GKE, hubungi Admin Keamanan untuk mengembangkan strategi guna mengonfigurasi aturan firewall secara manual.
Tentukan jenis kebijakan firewall yang akan digunakan: kebijakan firewall hierarkis, kebijakan firewall jaringan global, atau kebijakan firewall jaringan regional. Untuk mengetahui langkah-langkah membuat kebijakan firewall, lihat:
- Menggunakan kebijakan dan aturan firewall hierarkis
- Menggunakan kebijakan dan aturan firewall jaringan global
- Menggunakan kebijakan dan aturan firewall jaringan regional
Anda juga dapat menggunakan aturan firewall VPC, yang tidak menggunakan kebijakan apa pun.
Aturan firewall yang dibuat secara manual harus berupa aturan izinkan traffic masuk karena aturan firewall traffic masuk deny tersirat melarang traffic masuk. Jika Anda menonaktifkan pembuatan otomatis aturan firewall VPC, traffic masuk tidak akan menjangkau node Anda, kecuali jika Anda telah membuat aturan firewall izinkan traffic masuk yang cocok dengan traffic untuk Layanan LoadBalancer Anda.
Bergantung pada parameter aturan firewall, satu aturan firewall izinkan traffic masuk dapat diterapkan ke satu atau beberapa Layanan LoadBalancer. Untuk setiap aturan firewall izinkan traffic masuk yang Anda buat, tentukan parameter berikut:
Parameter target: Pastikan aturan firewall setidaknya menyertakan semua node cluster yang berisi Layanan LoadBalancer. Target yang didukung bergantung pada jenis kebijakan firewall tempat aturan berada atau apakah Anda menggunakan aturan firewall VPC. Untuk mengetahui informasi tentang parameter target aturan dalam kebijakan firewall, lihat Target.
Protocols and ports: Sertakan semua protokol dan port tujuan yang digunakan oleh Service LoadBalancer yang akan menerapkan aturan firewall.
Parameter tujuan: Anda dapat menggunakan salah satu strategi berikut untuk parameter tujuan:
- Sertakan alamat IP semua Layanan LoadBalancer yang akan diterapkan aturan firewall di parameter tujuan. Untuk menemukan alamat IP Layanan LoadBalancer, gunakan perintah berikut:
kubectl get svc LOADBALANCER_NAME \ -n NAMESPACE_NAME \ -o jsonpath='{.status.loadBalancer.ingress[0].ip}
- Anda dapat memilih untuk menghilangkan parameter tujuan. Jika parameter tujuan dihilangkan, parameter target akan menentukan tujuan secara implisit. Untuk mengetahui informasi selengkapnya, lihat Target dan alamat IP untuk aturan masuk.
Parameter sumber: Tentukan sumber (misalnya, alamat IP) yang digunakan oleh klien yang perlu terhubung ke Layanan Load Balancer tempat aturan firewall perlu diterapkan.
Untuk mengetahui langkah-langkah membuat aturan firewall, lihat:
Untuk memastikan bahwa aturan firewall yang dibuat secara manual berfungsi dengan benar, jalankan Uji Konektivitas Network Intelligence Center (NIC). Saat menjalankan Uji Konektivitas:
- Tetapkan tujuan ke alamat IP Layanan LoadBalancer.
- Tetapkan sumber ke alamat IP klien.
Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah konektivitas.
Menonaktifkan pembuatan aturan firewall VPC untuk Layanan LoadBalancer Anda
Bagian ini menjelaskan langkah-langkah untuk menonaktifkan pembuatan otomatis aturan firewall VPC untuk Layanan LoadBalancer.
Membuat cluster GKE baru dengan pembuatan aturan firewall VPC yang dinonaktifkan
Untuk menonaktifkan aturan firewall VPC yang dibuat secara otomatis untuk Layanan LoadBalancer di cluster yang baru dibuat, buat cluster dengan flag
--disable-l4-lb-firewall-reconciliation
:gcloud
Autopilot:
gcloud container clusters create-auto CLUSTER_NAME \ --disable-l4-lb-firewall-reconciliation \ --cluster-version=VERSION
Standar:
gcloud container clusters create CLUSTER_NAME \ --disable-l4-lb-firewall-reconciliation \ --enable-l4-ilb-subsetting \ --cluster-version=VERSION
Ganti kode berikut:
CLUSTER_NAME
: nama cluster baru.VERSION
: versi GKE.
Terraform
Untuk membuat cluster dengan pembuatan aturan firewall VPC yang dinonaktifkan menggunakan Terraform, lihat contoh berikut:
resource "google_container_cluster" "primary" { provider = google-beta name = CLUSTER_NAME location = ZONE enable-l4-ilb-subsetting = true disable_l4_lb_firewall_reconciliation = true }
Buat Service LoadBalancer eksternal atau internal:
Pastikan GKE tidak membuat aturan firewall izinkan traffic masuk untuk Layanan LoadBalancer. (Aturan firewall izinkan traffic masuk yang dibuat secara otomatis memiliki nama dalam bentuk berikut:
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash]
).Perintah berikut tidak menampilkan apa pun:
gcloud compute firewall-rules list --format="value(name)" | grep "k8s2"
Memperbarui cluster GKE yang ada untuk menonaktifkan pembuatan aturan firewall VPC
Sebelum menonaktifkan pembuatan aturan firewall VPC, perhatikan poin-poin berikut tentang mengupdate cluster yang ada:
- Saat Anda mengupdate cluster yang ada untuk menonaktifkan pembuatan aturan firewall VPC, GKE tidak akan menghapus aturan firewall yang ada yang dibuat secara otomatis oleh GKE untuk Layanan LoadBalancer Anda.
- GKE berhenti mengupdate aturan yang ada dan tidak akan membuat aturan baru untuk Layanan LoadBalancer baru.
- Untuk mengaktifkan kembali pembuatan aturan firewall VPC, Anda dapat menggunakan flag
--enable-l4-lb-firewall-reconciliation
dengan perintahgcloud_name container clusters update
.
Untuk menonaktifkan pembuatan aturan firewall otomatis di cluster yang ada:
Update cluster untuk menonaktifkan pembuatan dan pengelolaan otomatis aturan firewall untuk Layanan LoadBalancer:
gcloud container clusters update CLUSTER_NAME \ --disable-l4-lb-firewall-reconciliation \ --cluster-version=supported_version
Ganti kode berikut:
CLUSTER_NAME
: nama cluster baru.VERSION
: versi GKE.
Buat Service LoadBalancer eksternal atau internal:
Pastikan GKE tidak membuat aturan firewall izinkan traffic masuk untuk Layanan LoadBalancer. (Aturan firewall izinkan traffic masuk yang dibuat secara otomatis memiliki nama dalam bentuk berikut:
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash]
).Perintah berikut tidak menampilkan apa pun:
gcloud compute firewall-rules list --format="value(name)" | grep "k8s2"
Memecahkan masalah konektivitas
Contoh berikut mengilustrasikan cara menggunakan Uji Konektivitas Network Intelligence Center untuk menguji konektivitas ke LoadBalancer Service:cluster eksternal:
Network Intelligence Center:
- Di konsol Google Cloud, buka Network Intelligence Center dan mulai pengujian konektivitas baru.
- Dari menu drop-down, pilih Alamat IP publik eksternal apa pun sebagai sumber dan pilih load balancer dari tujuan.
- Jalankan kembali uji konektivitas.
gcloud CLI:
Contoh perintah berikut membuat dan menjalankan pengujian dengan alamat IP publik workstation lokal Anda sebagai sumber dan alamat IP eksternal load balancer eksternal sebagai tujuan:
gcloud network-management connectivity-tests create TEST_NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network-type=NON_GCP_NETWORK \ --destination-ip-address=$(kubectl get svc LOADBALANCER_NAME -o jsonpath='{.status.loadBalancer.ingress[0].ip}') \ --destination-port=$(kubectl get svc LOADBALANCER_NAME -o jsonpath='{.spec.ports[0].targetPort}') \ --destination-network=projects/PROJECT_ID/global/networks/NETWORK_NAME
Ganti kode berikut:
TEST_NAME
: Nama untuk pengujian konektivitas.SOURCE_IP_ADDRESS
: Alamat IP sistem yang perlu terhubung ke Service LoadBalancer eksternal. ContohnyaLOADBALANCER_NAME
: Nama Layanan LoadBalancer eksternal.PROJECT_ID
: Project ID project yang berisi jaringan VPC cluster. Jika cluster Anda menggunakan jaringan VPC Bersama, gunakan project ID project host.NETWORK_NAME
: Nama jaringan VPC cluster Anda.
Periksa hasil pengujian:
gcloud network-management connectivity-tests describe TEST_NAME
Langkah selanjutnya
- Pelajari Kebijakan firewall lebih lanjut.
- Baca Aturan firewall yang dibuat secara otomatis untuk mengetahui ringkasan aturan firewall VPC izinkan masuk yang dibuat secara otomatis oleh GKE secara default.
- Baca Parameter Layanan LoadBalancer untuk mengetahui deskripsi parameter Layanan LoadBalancer.
- Pelajari Aturan firewall prepopulated lainnya di Google Cloud.
- Pelajari lebih lanjut cara Membuat aturan firewall dalam project yang menggunakan VPC Bersama.