发送到 Google 容器引擎 pods 上的 STDOUT/STDERR 的日志未显示在 Cloud Logging 中

Logging sent to STDOUT/STDERR on Google Container Engine pods not showing in Cloud Logging

据我了解,如果启用,从 GKE pod 中的 Docker 进程 运行 发送到 STDOUT/STDERR 的任何输出都应该显示在 Cloud Logging 中。

我在 Rails 应用程序上的 Ruby 配置为打印到 STDOUT,我已通过 运行 kubectl logs <POD_NAME> 验证并查看了每个 HTTP 的值如我所料的要求。但是,即使我已确保已启用 Cloud Logging,我也没有在 Logging 中看到这些相同的值。是否需要其他步骤?

SSH-ing 进入我看到的容器 gcr.io/google_containers/fluentd-gcp:1.15 运行 以及一个暂停容器 PORTS k8s_POD.6d00e006_fluentd-cloud-logging-gke-web.

pod 的版本 运行 Rails 应用程序:

...  MASTER_VERSION  MASTER_IP       MACHINE_TYPE      NODE_VERSION  NUM_NODES  STATUS
...  1.1.8           104.196.24.206  g1-small          1.1.8         1          RUNNING

抱歉,如果您已经拥有,但是您是否将日志查看器中的服务选择器切换到了 "Container Engine" 选项?这是 this screenshot 中标有数字 3 的下拉菜单。如果设置为任何其他服务,将不会显示容器引擎日志。

如果您已经正确设置并且没有看到任何日志,那么您可以检查 fluentd 容器的日志并让我知道其中有什么吗?您可以在节点上 运行 docker logs <container-id>kubectl logs <pod-name> --namespace=kube-system.