安装 Kubernetes Engine Operations 支持

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

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

  • 创建新集群并配置 Kubernetes Engine Operations 或旧版 Logging 和 Monitoring。

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

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

Kubernetes Engine Operations 提供了一个选项,可以为集群中的 Cloud Monitoring 和 Cloud Logging 提供更好的支持。使用旧版 Logging 和 Monitoring 时,您可以启用 Monitoring 而不使用 Logging,但 Kubernetes Engine Operations 不支持此选项。

准备工作

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

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

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

控制应用日志的收集

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

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

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

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

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

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

当您创建新的 GKE 集群时,默认情况下会启用 Kubernetes Engine Operations 信息中心。或者,您可以为运行 GKE 1.14 或更低版本的集群选择旧版 Logging 和 Monitoring 集成,也可以完全停用 Google Cloud 的运维套件。

本部分中的集群创建说明仅涵盖与监控和日志记录相关的选项。有关创建 GKE 集群的完整说明,请参阅创建集群

控制台

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

    转到“Kubernetes 集群”

  2. 点击创建集群

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

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

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

    • 对于新集群,Kubernetes Engine Operations 默认启用。

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

        • 系统与工作负载日志记录和监控(建议)
        • 仅系统日志记录和监控(测试版)
      • 如果您的主版本为 1.14 或更早版本,您可以启用旧版 Logging 和 Monitoring 支持:

        1. 从下拉列表中选择旧版 Stackdriver
        2. 选择启用旧版 Stackdriver Logging启用旧版 Stackdriver Monitoring,或者同时选择两者。您可以单独启用或停用旧版 Monitoring 和旧版 Logging。
    • 要停用 Kubernetes Engine Operations,请清除启用 Stackdriver Kubernetes Engine Monitoring 复选框。

  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. 要为新集群选择 Kubernetes Engine Operations 支持,请在创建命令中添加 --enable-stackdriver-kubernetes 选项:

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

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

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

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

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

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

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

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

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

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

    转到“Kubernetes 集群”

  2. 在集群的详细信息面板中,查看旧版 Stackdriver Monitoring旧版 Stackdriver LoggingKubernetes Engine Operations 的状态。

    “集群详情”屏幕。

修改集群

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

控制台

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

    转到“Kubernetes 集群”

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

  3. 点击集群的修改

    修改 GKE 集群。

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

    • 要更改为 Kubernetes Engine Operations,请在 Stackdriver Kubernetes Engine Monitoring 下拉框中选择系统与工作负载日志记录和监控(建议)

      选择 Kubernetes Engine Operations 支持。

    • 要更改为仅使用系统日志的 Kubernetes Engine Operations,请在 Stackdriver Kubernetes Engine Monitoring 下拉框中选择仅系统日志记录和监控

      选择 Kubernetes Engine Operations 支持。

    • 要更改为旧版 Logging 和 Monitoring(用于 GKE 版本 1.14 及更低版本),请执行以下操作:

      1. Kubernetes Engine Operations 下拉框中,选择旧版 Stackdriver (Legacy Stackdriver)。

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

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

        选择旧版 Logging 和 Monitoring 支持。

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

  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]
    gcloud config set compute/zone [ZONE]
    
  4. 将集群更新为所需的 Kubernetes 版本,然后在集群中选择所需的监控和日志记录支持。所有版本的 GKE 都支持 Kubernetes Engine Operations。GKE 1.14 及更早版本支持旧版 Logging 和 Monitoring。

  5. 以下启用 Kubernetes Engine Operations 的更新命令仅显示 Google Cloud 的运维套件所需的选项:

    gcloud beta container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  --region=[REGION]  \
      --enable-stackdriver-kubernetes
      

    字段 [REGION] 是集群的计算区域。

  6. 以下启用旧版 Logging 和 Monitoring 的更新命令仅显示 Google Cloud 的运维套件所需的选项:

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

后续步骤