安装 Cloud Operations for GKE 支持

Google Kubernetes Engine (GKE) 中包括了与 Cloud Monitoring 和 Cloud Logging 的集成。通过这一集成,您可以利用高级分析和跟踪功能,监控正在运行的 GKE 集群、管理系统和调试日志以及分析系统性能。

本页面介绍了如何执行以下操作:

  • 创建新集群并配置 Cloud Operations for GKE 或旧版 Logging 和 Monitoring。

  • 选择是否要收集应用日志。

  • 为集群停用 Cloud Monitoring 和 Cloud Logging。

Cloud Operations for GKE 提供一个选项,用于改进对集群中的 Cloud Monitoring 和 Cloud Logging 的支持。使用旧版 Logging 和 Monitoring 时,您可以启用 Monitoring 而不使用 Logging,但 Cloud Operations for GKE 不支持此选项。

准备工作

  • 确定要使用的监控和日志记录集成选项。

  • 确定是否应收集应用日志。

  • 确保您是包含您集群的项目的 Owner。您的项目必须与工作区相关联。

控制应用日志的收集

默认情况下,GKE 会收集部署到集群的工作负载的日志。这是一个检测 (Instrument) 应用的强大工具;但是,这种自动收集可能不是首选。从 GKE 版本 1.15.7 开始,您可以将 Cloud Operations for GKE 配置为仅捕获系统日志,而不收集应用日志。

选择“仅系统”选项后,系统将收集以下日志:

  • 在命名空间 kube-systemistio-systemknative-servinggke-systemconfig-management-system 中运行的所有 Pod。

  • 未容器化的关键服务,包括 docker/containerd 运行时、kubeletkubelet-monitornode-problem-detectorkube-container-runtime-monitor

  • 节点的串行端口输出(如果虚拟机实例元数据 serial-port-logging-enable 设置为 true)。

为新集群配置监控和日志记录支持

创建新的 GKE 集群时,默认情况下,Cloud Operations for GKE 信息中心会处于启用状态。如果您使用的是 1.17 版或更早版本,则可以选择旧版 Logging 和 Monitoring 集成。对于所有集群配置,您可以完全停用 Google Cloud 的运维套件。

本部分中的集群创建说明仅涵盖与 Cloud Operations for GKE 相关的选项。如需查看有关创建 GKE 集群的完整说明,请参阅创建集群

控制台

  1. 转到项目的 GKE 集群页面。点击以下按钮可转到该页面:

    转到 Kubernetes 集群

  2. 点击创建集群

  3. 为您的集群选择主版本。您选择的版本会改变您可以使用的 Cloud Monitoring 和 Cloud Logging 选项。

  4. 在导航窗格的集群下,点击功能

  5. 操作下,为集群选择日志记录和监控支持:

    • 对于新集群,默认选择 Cloud Operations for GKE。

      • 如果您的主版本为 1.14 或更高版本,则可以从下拉列表中选择以下选项之一:

        • 系统与工作负载日志记录和监控
        • 仅启用系统与工作负载日志记录(停用监控)
        • 仅启用系统监控(停用日志记录)
      • 此外,如果您的主版本为 1.15.7 或更高版本,您还可以从下拉列表中选择以下选项:

        • 仅系统日志记录和监控(Beta 版)
      • 如果您的主版本为 1.17 或更早版本,您可以启用旧版 Logging 和 Monitoring 支持:

        1. 从下拉列表中选择旧版 Logging 和 Monitoring
        2. 选择启用旧版 Monitoring 服务和/或启用旧版 Logging 服务选项。

          您可以单独启用或停用旧版 Monitoring 和旧版 Logging。

    • 要停用 Cloud Operations for GKE,请清除启用 Cloud Operations for GKE 复选框。

  6. 根据需要配置集群。

  7. 点击创建以创建集群。

GCLOUD

使用 gcloud 创建集群:

  1. 打开一个安装了 Cloud SDK 和 gcloud 的终端窗口。一种方法是使用 Cloud Shell。

  2. 在 Cloud Console 中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Cloud Console 的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Cloud SDK 的 Shell 环境,其中包括 gcloud 命令行工具以及已为当前项目设置的值。该会话可能需要几秒钟时间来完成初始化。

  3. 如需创建集群,请运行以下命令。对于新集群,Cloud Operations for GKE 默认处于启用状态。

    gcloud container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID] \
      --cluster-version=[CLUSTER_VERSION]
    

    在上述表达式中,[CLUSTER_NAME] 是集群的名称,[ZONE] 是集群的计算可用区,[PROJECT_ID] 是 Google Cloud 项目 ID(而非项目名称)。

    [CLUSTER_VERSION] 是要在集群上安装的 GKE 版本。您可以输入要安装的特定补丁程序版本,例如 1.16.13-gke.401。否则,您可以输入要安装的次要版本(例如 1.16),并使用最新的补丁程序版本创建集群。如需详细了解 GKE 版本控制,请参阅版本控制和升级

  4. 或者,要为您的 GKE 集群版本 1.17 选择旧版 Logging 和 Monitoring,请创建集群并在 create 命令中添加 --enable-cloud-logging 和/或 --enable-cloud-monitoring 选项。例如,简单的集群创建情况如下所示:

        gcloud container clusters create [CLUSTER_NAME] \
          --zone=[ZONE] \
          --project=[PROJECT_ID] \
          --cluster-version=[CLUSTER_VERSION] \
          --enable-cloud-logging \
          --enable-cloud-monitoring
    
    
    
    1. 或者,您也可以通过将 --no-enable-stackdriver-kubernetes 标志添加到 create 命令来创建集群,而无需启用 Cloud Operations for GKE。例如:

      gcloud container clusters create [CLUSTER_NAME] \
        --zone=[ZONE] \
        --project=[PROJECT_ID] \
        --cluster-version=[CLUSTER_VERSION] \
        --no-enable-stackdriver-kubernetes
      

为现有集群配置监控和日志记录支持

以下部分详细介绍了如何修改现有 GKE 集群的监控和日志记录集成。

我的集群使用哪种监控和日志记录支持?

要查看您的集群使用哪种监控和日志记录支持,请完成以下步骤:

  1. 在 Google Cloud Console 中,点击您的集群名称:

    转到 Kubernetes 集群

  2. 在集群的详情面板中,查看 Cloud Operations for GKE旧版 Monitoring旧版 Logging 的状态。

    “集群详情”屏幕。

修改集群

要更改现有集群的监控和日志记录配置,请按照以下说明操作:

控制台

  1. 转到项目的 GKE Kubernetes 集群页面。

    转到 Kubernetes 集群

  2. 将集群升级到版本 1.12.7 或更高版本。如需了解有关说明,请参阅升级集群。等待升级操作完成。

  3. 点击集群的修改

    修改 GKE 集群。

  4. 为您的集群选择适当的集成选项。

    • 如需更改为 Cloud Operations for GKE,请在 Cloud Operations for GKE 下拉框中选择以下选项之一:

      • 系统与工作负载日志记录和监控
      • 仅系统日志记录和监控(Beta 版)(需要 GKE 1.15.7 或更高版本)
      • 仅启用系统与工作负载日志记录(停用监控)
      • 仅启用系统监控(停用日志记录)
    • 如需更改为适用于 GKE 1.17 版或更早版本的旧版 Logging 和 Monitoring 的支持,请执行以下操作:

      1. Cloud Operations for GKE 下拉框中,选择旧版 Logging 和 Monitoring

      2. 旧版 Logging 下拉框中,选择已启用

      3. 旧版 Monitoring 下拉框中,选择已启用

        选择旧版 Logging 和 Monitoring 支持。

    • 要完全停用 Google Cloud 的运维套件集成,请在 Cloud Operations for GKE 下拉框中选择已停用

  5. 点击保存

GCLOUD

以下 gcloud 说明介绍了如何使用 gcloud container clusters update 命令升级集群的监控和日志记录支持。请注意,尽管我们有时将此过程称为“升级”,但您使用的是 update 命令,而不是 upgrade 命令。

  1. 打开一个安装了 Cloud SDK 和 gcloud 的终端窗口。一种方法是使用 Cloud Shell。

  2. 在 Cloud Console 中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Cloud Console 的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Cloud SDK 的 Shell 环境,其中包括 gcloud 命令行工具以及已为当前项目设置的值。该会话可能需要几秒钟时间来完成初始化。

  3. 如果尚未设置,请在 Cloud SDK 中为您的集群设置默认值:

    gcloud config set project [PROJECT_ID]
    
  4. 如需启用 Cloud Operations for GKE,请运行带有 --enable-stackdriver-kubernetes 标志的 update 命令。

    gcloud container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  \
      --enable-stackdriver-kubernetes
      
  5. 如需启用旧版 Logging 和 Monitoring,请运行带有 --logging-service logging.googleapis.com 和/或 --monitoring-service monitoring.googleapis.com 标志的 update 命令。此处显示的示例仅显示了 Google Cloud 的运维套件所需的选项:

    gcloud container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  \
      --logging-service logging.googleapis.com \
      --monitoring-service monitoring.googleapis.com
      

  6. 或者,如需移除 Cloud Operations for GKE 或旧版 Logging 和 Monitoring,请运行 update 命令并设置 --no-enable-stackdriver-kubernetes 标志。

    gcloud container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  \
      --no-enable-stackdriver-kubernetes

后续步骤

  • 参阅价格页面,了解与 Cloud Logging 相关的费用。

  • 详细了解如何使用 Prometheus,这是一种经常与 Kubernetes 搭配使用的监控工具。

  • 如果您使用的是旧版 Logging 和 Monitoring,请参阅迁移到 Cloud Operations for GKE,熟悉 Cloud Operations for GKE 中的变化。