我创建了一个非常简单的图像,它执行一次性作业(打印一些虚拟日志(并退出如下:
➣ $ 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 年就发布了云运行作业,这可能是您所需要的