GCP 云运行:一次性作业和"配置<servicename>没有任何现成的修订版"



我创建了一个非常简单的图像,它执行一次性作业(打印一些虚拟日志(并退出如下:

➣ $ cat Dockerfile
from alpine:latest
COPY entrypoint.sh /usr/local/bin/entrypoint
ENTRYPOINT ["entrypoint"]
CMD ["100"]

。哪里

➣ $ cat entrypoint.sh
#!/bin/sh
ITERATIONS=${1:-1000}
counter=1
while [ "$counter" -le "$ITERATIONS" ]; do
    echo "Executing and logging iteration no $counter"
      counter=$(($counter + 1))
done

尝试部署到云运行时,

使用以下命令:

gcloud beta run deploy logger --image=pkaramol/logging --cluster=pkaramol-cloudrun

它失败并显示以下我无法解码的消息:

服务名称(日志记录(:记录器 将容器部署到云运行 群集命名空间 [默认] 中的 GKE 服务 [记录器] [pkaramol-cloudrun]X 正在部署新服务...配置"记录器" 没有任何现成的修订版。 - 创建修订版... X 路由流量...配置"记录器"没有任何现成的修订版。部署失败错误: (gcloud.beta.run.deploy( Configuration "logger" 沒有任何 准备好修订版。

。在其他一些情况下,它需要永远

Deploying container to Cloud Run on GKE service [mylogger] in namespace [default] of cluster [pkaramol-cloudrun]
⠶ Deploying new service... Configuration "mylogger" is waiting for a Revision
 to become ready.
  ⠶ Creating Revision...
  . Routing traffic...

有什么建议吗?

当容器启动时,它必须启动一个程序,该程序在端口 $PORT (8080( 上作为 HTTP 服务器响应。

您可以在容器中运行几乎任何软件。接口是 HTTP 请求/响应。CPU 在 HTTP 请求之间处于空闲状态。

您的容器不符合 Cloud Run 要求,当 Cloud Run 在端口 $PORT 上检测到无响应/响应不正确时,您的容器将终止。

阅读本文档以更好地了解软件要求:

容器运行时协定

GCP 早在 2022 年就发布了云运行作业,这可能是您所需要的

最新更新