Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan Masalah Kubernetes kebijakan jaringan Untuk Amazon EKS
Log kebijakan jaringan
Apakah koneksi diizinkan atau ditolak oleh kebijakan jaringan dicatat dalam log aliran. Log kebijakan jaringan pada setiap node menyertakan log aliran untuk setiap pod yang memiliki kebijakan jaringan. Log kebijakan jaringan disimpan di/var/log/aws-routed-eni/network-policy-agent.log
. Contoh berikut adalah dari sebuah network-policy-agent.log
file:
{"level":"info","timestamp":"2023-05-30T16:05:32.573Z","logger":"ebpf-client","msg":"Flow Info: ","Src IP":"192.168.87.155","Src Port":38971,"Dest IP":"64.6.160","Dest Port":53,"Proto":"UDP","Verdict":"ACCEPT"}
Log kebijakan jaringan dinonaktifkan secara default. Untuk mengaktifkan log kebijakan jaringan, ikuti langkah-langkah berikut:
catatan
Log kebijakan jaringan memerlukan tambahan 1 v CPU untuk aws-network-policy-agent
penampung dalam manifes VPC CNI aws-node
daemonset.
EKSPengaya Amazon
- AWS Management Console
-
-
Buka EKSkonsol Amazon
. -
Di panel navigasi kiri, pilih Cluster, lalu pilih nama cluster yang ingin Anda konfigurasikan VPC CNI add-on Amazon.
-
Pilih tab Add-ons.
-
Pilih kotak di kanan atas kotak add-on dan kemudian pilih Edit.
-
Pada Konfigurasi
name of addon
halaman:-
Pilih versi
v1.14.0-eksbuild.3
atau yang lebih baru dalam daftar dropdown Versi. -
Perluas pengaturan konfigurasi opsional.
-
Masukkan JSON kunci tingkat atas
"nodeAgent":
dan nilai adalah objek dengan kunci"enablePolicyEventLogs":
dan nilai"true"
dalam nilai Konfigurasi. Teks yang dihasilkan harus berupa JSON objek yang valid. Contoh berikut menunjukkan kebijakan jaringan dan log kebijakan jaringan diaktifkan, dan log kebijakan jaringan dikirim ke CloudWatch Log:{ "enableNetworkPolicy": "true", "nodeAgent": { "enablePolicyEventLogs": "true" } }
-
-
Screenshot berikut menunjukkan contoh skenario ini.
- AWS CLI
-
-
Jalankan AWS CLI perintah berikut. Ganti
my-cluster
dengan nama cluster Anda dan ganti IAM peran ARN dengan peran yang Anda gunakan.aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.14.0-eksbuild.3 \ --service-account-role-arn arn:aws: iam::123456789012:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"nodeAgent": {"enablePolicyEventLogs": "true"}}'
-
Add-on yang dikelola sendiri
- Helm
-
Jika Anda telah menginstal Amazon VPC CNI plugin for Kubernetes melalui
helm
, Anda dapat memperbarui konfigurasi untuk menulis log kebijakan jaringan.-
Jalankan perintah berikut untuk mengaktifkan kebijakan jaringan.
helm upgrade --set nodeAgent.enablePolicyEventLogs=true aws-vpc-cni --namespace kube-system eks/aws-vpc-cni
-
- kubectl
-
Jika Anda telah menginstal Amazon VPC CNI plugin for Kubernetes melalui
kubectl
, Anda dapat memperbarui konfigurasi untuk menulis log kebijakan jaringan.-
Buka
aws-node
DaemonSet
di editor Anda.kubectl edit daemonset -n kube-system aws-node
-
Ganti
false
dengantrue
dalam argumen perintah--enable-policy-event-logs=false
di dalamaws-network-policy-agent
wadahargs:
dalam manifes VPC CNIaws-node
daemonset.- args: - --enable-policy-event-logs=true
-
Kirim log kebijakan jaringan ke Amazon CloudWatch Logs
Anda dapat memantau log kebijakan jaringan menggunakan layanan seperti Amazon CloudWatch Logs. Anda dapat menggunakan metode berikut untuk mengirim log kebijakan jaringan ke CloudWatch Log.
Untuk EKS klaster, log kebijakan akan ditempatkan di bawah /aws/eks/
dan untuk klaster K8S yang dikelola sendiri, log akan ditempatkan di bawah /. cluster-name
/cluster//aws/k8s-cluster/cluster
Kirim log kebijakan jaringan dengan Amazon VPC CNI plugin for Kubernetes
Jika Anda mengaktifkan kebijakan jaringan, kontainer kedua akan ditambahkan ke aws-node
pod untuk agen node. Agen node ini dapat mengirim log kebijakan jaringan ke CloudWatch Log.
catatan
Hanya log kebijakan jaringan yang dikirim oleh agen node. Log lain yang dibuat oleh VPC CNI tidak disertakan.
Prasyarat
-
Tambahkan izin berikut sebagai bait atau kebijakan terpisah ke IAM peran yang Anda gunakan untuk. VPC CNI
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }
EKSPengaya Amazon
- AWS Management Console
-
-
Buka EKSkonsol Amazon
. -
Di panel navigasi kiri, pilih Cluster, lalu pilih nama cluster yang ingin Anda konfigurasikan VPC CNI add-on Amazon.
-
Pilih tab Add-ons.
-
Pilih kotak di kanan atas kotak add-on dan kemudian pilih Edit.
-
Pada Konfigurasi
name of addon
halaman:-
Pilih versi
v1.14.0-eksbuild.3
atau yang lebih baru dalam daftar dropdown Versi. -
Perluas pengaturan konfigurasi opsional.
-
Masukkan JSON kunci tingkat atas
"nodeAgent":
dan nilai adalah objek dengan kunci"enableCloudWatchLogs":
dan nilai"true"
dalam nilai Konfigurasi. Teks yang dihasilkan harus berupa JSON objek yang valid. Contoh berikut menunjukkan kebijakan jaringan dan log kebijakan jaringan diaktifkan, dan log dikirim ke CloudWatch Log:{ "enableNetworkPolicy": "true", "nodeAgent": { "enablePolicyEventLogs": "true", "enableCloudWatchLogs": "true", } }
-
Screenshot berikut menunjukkan contoh skenario ini.
+ image: :images/ console-cni-config-network - policy-logs-cwl .png [AWS Management Console menampilkan VPC CNI add-on dengan kebijakan jaringan dan CloudWatch Log dalam konfigurasi opsional. , lebar berskala = 80%]
-
- AWS CLI
-
-
Jalankan AWS CLI perintah berikut. Ganti
my-cluster
dengan nama cluster Anda dan ganti IAM peran ARN dengan peran yang Anda gunakan.aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.14.0-eksbuild.3 \ --service-account-role-arn arn:aws: iam::123456789012:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"nodeAgent": {"enablePolicyEventLogs": "true", "enableCloudWatchLogs": "true"}}'
-
Add-on yang dikelola sendiri
- Helm
-
Jika Anda telah menginstal Amazon VPC CNI plugin for Kubernetes melalui
helm
, Anda dapat memperbarui konfigurasi untuk mengirim log kebijakan jaringan ke CloudWatch Log.-
Jalankan perintah berikut untuk mengaktifkan log kebijakan jaringan dan mengirimkannya ke CloudWatch Log.
helm upgrade --set nodeAgent.enablePolicyEventLogs=true --set nodeAgent.enableCloudWatchLogs=true aws-vpc-cni --namespace kube-system eks/aws-vpc-cni
-
- kubectl
-
-
Buka
aws-node
DaemonSet
di editor Anda.kubectl edit daemonset -n kube-system aws-node
-
Ganti
false
dengantrue
dalam dua argumen perintah--enable-policy-event-logs=false
dan--enable-cloudwatch-logs=false
di dalamaws-network-policy-agent
wadahargs:
di manifes VPC CNIaws-node
daemonset.- args: - --enable-policy-event-logs=true - --enable-cloudwatch-logs=true
-
Mengirim log kebijakan jaringan dengan Fluent Bit daemonset
Jika Anda menggunakan Fluent Bit dalam daemonset untuk mengirim log dari node Anda, Anda dapat menambahkan konfigurasi untuk menyertakan log kebijakan jaringan dari kebijakan jaringan. Anda dapat menggunakan konfigurasi contoh berikut:
[INPUT] Name tail Tag eksnp.* Path /var/log/aws-routed-eni/network-policy-agent*.log Parser json DB /var/log/aws-routed-eni/flb_npagent.db Mem_Buf_Limit 5MB Skip_Long_Lines On Refresh_Interval 10
Termasuk eBPF SDK
Bagian Amazon VPC CNI plugin for Kubernetes menginstal eBPF SDKkoleksi alat pada node. Anda dapat menggunakan eBPF SDKalat untuk mengidentifikasi masalah dengan kebijakan jaringan. Misalnya, perintah berikut mencantumkan program yang berjalan pada node.
sudo /opt/cni/bin/aws-eks-na-cli ebpf progs
Untuk menjalankan perintah ini, Anda dapat menggunakan metode apa pun untuk terhubung ke node.