本页面介绍如何在 GKE 集群中启用网络政策日志记录功能,以及如何导出日志。
概览
网络政策是 Pod 级层的防火墙;它们指定允许 Pod 发送和接收的网络流量。网络政策日志会记录网络政策事件。您可以记录所有事件,也可以选择根据以下条件记录事件:
- 允许的连接。
- 拒绝的连接。
- 特定政策允许的连接。
- 拒绝到特定命名空间中的 Pod 的连接。
启用日志记录功能
默认情况下,系统不会启用网络政策日志记录功能。如需了解如何启用日志记录以及选择要记录的事件,请参阅 Google Kubernetes Engine 文档中的使用网络政策日志记录。
访问日志
网络政策日志会自动上传到 Cloud Logging。您可以通过日志浏览器或 Google Cloud CLI 访问日志。您还可以将日志从 Cloud Logging 导出到您选择的接收器。
gcloud
gcloud logging read --project "PROJECT_NAME" 'resource.type="k8s_node" \
resource.labels.location="CLUSTER_LOCATION" \
resource.labels.cluster_name="awsClusters/CLUSTER_NAME" \
logName="projects/PROJECT_NAME/logs/policy-action"'
替换以下内容:
PROJECT_NAME
:您的 Google Cloud 项目CLUSTER_LOCATION
:管理集群的 Google Cloud 位置CLUSTER_NAME
:您的集群的名称
Cloud Logging
转到 Google Cloud 控制台中的日志浏览器页面。
点击查询构建器。
使用以下查询查找所有网络政策日志记录:
resource.type="k8s_node" resource.labels.location="CLUSTER_LOCATION" resource.labels.cluster_name="awsClusters/CLUSTER_NAME" logName="projects/PROJECT_NAME/logs/policy-action"
替换以下内容:
CLUSTER_LOCATION
:管理集群的 Google Cloud 位置CLUSTER_NAME
:您的集群的名称。PROJECT_NAME
:您的 Google Cloud 项目。
如需了解如何使用日志浏览器,请参阅使用日志浏览器。
您还可以使用查询构建器构建查询。如需查询网络政策日志,请在日志名称下拉列表中选择 policy-action。如果没有可用的日志,则 policy-action 不会出现在下拉列表中。
对网络政策日志的本地访问
如果您有权访问节点的文件系统,则可通过本地文件 /var/log/network/policy_action.log*
中的每个节点查看网络政策日志。当前日志文件达到 10 MB 时,节点会轮替日志文件。系统最多存储之前的五个日志文件。