Kf terintegrasi erat dengan Kubernetes dan Istio untuk memberikan penegakan kebijakan jaringan yang andal.
Secara default, beban kerja Kf dijalankan di cluster Kubernetes dan me-resolve alamat menggunakan DNS Kubernetes. Resolver DNS ini akan mencoba me-resolve alamat dalam cluster terlebih dahulu, dan hanya jika tidak ada yang ditemukan, resolver akan mencoba resolusi eksternal.
Setiap Aplikasi Kf dijalankan dengan sidecar Envoy yang dimasukkan oleh Istio atau Anthos Service Mesh (ASM). Sidecar ini melakukan proxy untuk semua traffic jaringan yang masuk dan keluar dari Pod Kubernetes.
Setiap Pod Kubernetes dijalankan di Node, mesin fisik atau virtual yang bertanggung jawab untuk mengelola image container yang membentuk Pod. Node ada di jaringan fisik atau virtual.
Bersama-sama, keduanya membentuk hierarki sistem yang dapat Anda gunakan untuk menerapkan kebijakan jaringan. Hal ini tercantum di bawah dari yang paling longgar hingga paling ketat.
Kebijakan tingkat jaringan
Perlindungan workload dimulai dengan jaringan tempat cluster GKE Anda diinstal.
Jika Anda menjalankan Kf di cluster GKE di GCP, Kf merekomendasikan:
- Menempatkan cluster GKE di jaringan Virtual Private Cloud (VPC).
- Dengan Akses Google Pribadi diaktifkan.
- Menggunakan Cloud NAT untuk mengontrol traffic keluar.
Kebijakan tingkat node
Anda dapat menyiapkan kebijakan untuk penampung yang berjalan di Node menggunakan Kubernetes NetworkPolicies. Ini adalah pemetaan terdekat dengan kebijakan jaringan Cloud Foundry yang ada di Kubernetes.
NetworkPolicy didukung oleh add-on Kubernetes. Jika menyiapkan cluster GKE Anda sendiri, Anda harus mengaktifkan penerapan NetworkPolicy.
Kf memberi label Aplikasi dengan kf.dev/networkpolicy=app
dan mem-build dengan kf.dev/networkpolicy=build
.
Hal ini memungkinkan Anda menargetkan NetworkPolicies langsung ke Pod yang menjalankan Aplikasi atau Build.
Setiap Kf Space membuat dua NetworkPolicies untuk memulai, satu menargetkan Aplikasi dan
satu menargetkan Build. Anda dapat mengubah konfigurasi di kolom
spec.networkConfig.(app|build)NetworkPolicy.(in|e)gress
Ruang.
Kolom ini dapat ditetapkan ke salah satu nilai berikut:
Nilai Enum | Deskripsi |
---|---|
PermitAll |
Mengizinkan semua traffic. |
DenyAll |
Menolak semua traffic. |
Secara default, Kf menggunakan kebijakan jaringan yang permisif. Hal ini memungkinkan fungsi berikut yang digunakan Kf:
- Pemilihan rute Utara/Selatan ke gateway masuk cluster
- Traffic keluar ke Internet, misalnya untuk mengambil Buildpack
- Pemilihan rute Timur/Barat antar-Aplikasi
- Akses ke server DNS Kubernetes
- Akses ke registry penampung
- Akses langsung ke jaringan VPC
- Akses ke layanan Google seperti Cloud Logging
- Akses ke server Workload Identity untuk rotasi kredensial otomatis
Kebijakan mesh layanan
Jika memerlukan kontrol jaringan, autentikasi, otorisasi, dan pengamatan terperinci, Anda dapat menerapkan kebijakan menggunakan Anthos Service Mesh.
Mesh layanan adalah lapisan infrastruktur yang memungkinkan komunikasi yang terkelola, dapat diamati, dan aman di seluruh layanan Anda, sehingga Anda dapat membuat aplikasi perusahaan yang andal yang terdiri dari banyak microservice di infrastruktur yang Anda pilih.
Anda dapat melihat daftar fitur yang didukung di sini.