【问题标题】:GKE kubernetes delayed_job pod logsGKE kubernetes delay_job pod 日志
【发布时间】:2018-07-27 08:32:08
【问题描述】:

我有一个带有以下rake jobs:work 命令的部署对象:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: staging-delayed-job-deployment
  namespace: staging
spec:
  template:
    metadata:
      labels:
        env: staging
        name: delayed-job
    spec:
      containers:
        - name: job
          image: gcr.io/ej-gc-dev/redacted:<%= ENV['IMAGE_TAG'] %>
          command: ["/bin/bash", "-l", "-c"]
          args: ["RAILS_ENV=production bundle exec rake jobs:work"]

当我运行kubectl logs 时,我什么也得不到。如何让 rake jobs:work 输出显示在 kubectl logs 中?也就是说,如果直接在 pod 中运行,它会给出如下输出:

[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Starting job worker
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job UpdateHubspotPersonaJob (id=67) RUNNING
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job UpdateHubspotPersonaJob (id=67) COMPLETED after 0.4903
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job Mailerjack.registration_created_user_welcome (id=68) RUNNING
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job Mailerjack.registration_created_user_welcome (id=68) COMPLETED after 0.9115
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job UpdateHubspotPersonaJob (id=69) RUNNING
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job UpdateHubspotPersonaJob (id=69) COMPLETED after 0.1752
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job Mailerjack.registration_created_user_welcome (id=70) RUNNING
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job Mailerjack.registration_created_user_welcome (id=70) COMPLETED after 0.4770
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] 4 jobs processed at 1.7649 j/s, 0 failed

我希望在我运行 kubectl logs 时显示它

【问题讨论】:

  • 您好,如果您想使用 kubectl logs 访问日志,那么您的 pod 需要将日志发送到 stdout and stderr

标签: ruby-on-rails kubernetes google-kubernetes-engine


【解决方案1】:

我需要添加一个初始化程序:config/initializers/delayed_job.rb 并将工作人员的记录器设置为标准输出,如下所示:

Delayed::Worker.logger = Logger.new(STDOUT)

【讨论】:

    猜你喜欢
    • 2020-08-13
    • 2018-07-29
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多