Kubernetes:即使Pod ready状态为true,部署仍无法推出

时间:2019-06-10 06:57:14

标签: docker kubernetes kubernetes-helm kubectl circleci

我正在尝试通过以下步骤使用circleCI工作流部署我的应用程序之一:

  • 设置环境
  • 构建
  • 单元测试
  • 集成测试
  • 部署

每当我的集成测试大约需要7-8分钟时,我就会在circleCI控制台上收到超时错误。

deployment.extensions/demo-app created
Waiting for deployment "demo-app" rollout to finish: 0 out of 1 new replicas have been updated...
Waiting for deployment "demo-app" rollout to finish: 0 of 1 updated replicas are available...
Too long with no output (exceeded 10m0s)

推出状态命令似乎出现问题,或者无法检测到我的测试已经完成并且pod处于就绪状态。

我也检查了kubectl describe pod命令的输出,它显示出Pod状态已准备就绪。

我已经尝试在circleCI配置中增加no_output_timeout,但是没有用。

我还尝试了根据集成测试所花费的时间来更改就绪探测器参数的值,但仍然会超时。 准备就绪探针的当前值:

readinessProbe:
    exec:
        command:
            - cat
            - /test/result
    initialDelaySeconds: 10
    periodSeconds: 10
    failureThreshold: 60

当我减少集成测试次数后重新运行circleCI构建时,它运行良好。

请让我知道可能的原因,因为我对部署和kubernetes完全陌生。

我正在使用Kubernetes v1.5.2

1 个答案:

答案 0 :(得分:0)

您可以尝试为部署定义分配更多资源,例如,在某些情况下,更多的CPU或RAM可以提高工作负载的启动和就绪速度,但是在正常操作期间工作负载可能不需要它但是在这种情况下,您需要查看加载过程。