Gunakan log alur untuk menyimpan metadata traffic jaringan, termasuk 5-tuple, di Google Distributed Cloud (GDC) yang terisolasi dari internet ke stack kemampuan pengamatan dalam bentuk log yang dapat dikueri. Gunakan log ini untuk:
- Memahami alur traffic untuk layanan tertentu dalam organisasi.
- Memahami dan mengidentifikasi masalah terkait responsivitas jaringan workload Kubernetes.
- Verifikasi kebijakan jaringan Kubernetes.
Log alur adalah fitur GDC berdasarkan project Hubble open source: https://github.com/cilium/hubble. Konfigurasi log alur menggunakan
resource FlowLog
dari
Networking API.
Sebelum memulai
Anda harus mendapatkan otorisasi untuk mengelola atau melihat log alur dari konsol GDC. Untuk melihat atau mengelola log alur, minta Admin IAM Organisasi Anda untuk memberi Anda peran log alur yang sesuai.
Untuk mengetahui informasi tentang cara menyetel binding peran dari konsol GDC, lihat Memberikan akses ke resource.
Sebelum mengkueri dan melihat log alur di dasbor, Anda harus mendapatkan akses ke instance pemantauan. Untuk mengetahui informasi selengkapnya, lihat Kueri dan lihat metrik.
Membuat log alur
Buat log alur untuk menyimpan metadata traffic jaringan yang difilter berdasarkan serangkaian spesifikasi tertentu.
Membuat log alur dengan filter protokol dan namespace
Buat file bernama
example-flowlog.yamldengan konten berikut:apiVersion: networking.gdc.goog/v1 kind: FlowLog metadata: name: "FLOW_LOG_NAME" namespace: "platform" spec: filters: - l4Protocols: - tcp source: namespacePodSelectors: - namespace: gpc-system - namespace: kube-system destination: namespacePodSelectors: - namespace: kube-system lifetime: duration: "1h"Ganti
FLOW_LOG_NAMEdengan nama yang dipilih untuk log alur.Dalam contoh ini, log alur mencatat semua alur yang koneksi TCP-nya dimulai oleh pod mana pun di namespace
gpc-systemataukube-systemke pod mana pun di namespacekube-system. Metode ini akan menghentikan perekaman log satu jam sejak objek dibuat.Buat objek log alur:
kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f example-flowlog.yamlGanti
MANAGEMENT_API_SERVERdengan jalur kubeconfig server Management API zonal.Verifikasi bahwa nilai
FLOW_LOG_NAMEtelah direkonsiliasi dengan benar, dan proses logging telah dimulai dengan memeriksa kolomStatus:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform FLOW_LOG_NAMEContoh status:
Status: Clusters: Cluster: org-1-infra-cluster Conditions: Last Transition Time: 2024-01-19T01:46:11Z Message: Observed Generation: 1 Reason: ResourcesPropagated Status: True Type: Propagated Name: cilium-flowlog-config Namespace: kube-system Node: org-1-infra Cluster: user-vm-1-cluster Conditions: Last Transition Time: 2024-01-19T01:46:11Z Message: Observed Generation: 1 Reason: ResourcesPropagated Status: True Type: Propagated Name: cilium-flowlog-config Namespace: kube-system Node: user-vm-1 Cluster: user-vm-2-cluster Conditions: Last Transition Time: 2024-01-19T01:46:11Z Message: Observed Generation: 1 Reason: ResourcesPropagated Status: True Type: Propagated Name: cilium-flowlog-config Namespace: kube-system Node: user-vm-2 Conditions: Last Transition Time: 2024-01-18T19:17:53Z Message: Observed Generation: 1 Reason: Active Status: True Type: Logging Last Transition Time: 2024-01-19T01:46:11Z Message: Observed Generation: 1 Reason: ResourcesPropagated Status: True Type: Propagated Last Transition Time: 2024-01-18T19:17:53Z Message: Observed Generation: 1 Reason: Succeeded Status: True Type: Reconciled Start Time: 2024-01-18T19:17:53Z End Time: 2024-01-18T20:17:53ZOutput contoh ini berisi kondisi berikut:
Propagated: konfigurasi log alur dikirim ke clusteruser-vm-1,user-vm-2, danorg-1-infra.Reconciled: log alur berhasil diprogram di clusteruser-vm-1,user-vm-2, danorg-1-infra.Logging: log alur tidak kedaluwarsa atau dinonaktifkan, tidak mengalami error apa pun, dan dapat menghasilkan log jika filter cocok dengan alur.Start TimedanEnd Timemenunjukkan bahwa tugas dimulai pada19:17:53, dan berakhir pada20:17:53.
Agar log alur ini dapat berhasil menghasilkan entri log, semua kondisi
Propagated,Reconciled, danLoggingharus benar.
Mengubah log alur
Untuk mengubah log alur yang ada, ubah definisi objek log alur yang dibuat dalam file example-flowlog.yaml dan terapkan lagi:
kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f example-flowlog.yaml
Melihat log alur di dasbor pemantauan
Untuk melihat log alur, minta pengguna dengan peran log alur yang sesuai untuk memeriksa Kueri log operasional.Referensi
- Dokumentasi tentang Hubble Dynamic Exporter: https://docs.cilium.io/en/latest/observability/hubble-exporter/#dynamic-exporter-configuration