使用网络政策日志记录

本页面介绍如何在 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="azureClusters/CLUSTER_NAME" \
    logName="projects/PROJECT_NAME/logs/policy-action"'

替换以下内容:

  • PROJECT_NAME:您的 Google Cloud 项目
  • CLUSTER_LOCATION:管理集群的 Google Cloud 位置
  • CLUSTER_NAME:您的集群的名称

Cloud Logging

  1. 转到 Google Cloud 控制台中的日志浏览器页面。

    转到日志浏览器

  2. 点击查询构建器

  3. 使用以下查询查找所有网络政策日志记录:

    resource.type="k8s_node"
    resource.labels.location="CLUSTER_LOCATION"
    resource.labels.cluster_name="azureClusters/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 时,节点会轮替日志文件。系统最多存储之前的五个日志文件。

后续步骤