使用"gcloud"SDK CLI无法进行Google Cloud Run部署



我在谷歌云上创建了一个服务,我可以使用Container注册表上的图像通过谷歌云控制台UI手动部署该服务。但CLI的部署正在失败。这是我正在使用的命令和我得到的错误。我无法理解我错过了什么:

$ gcloud beta run deploy service-name --platform managed --region region-name --image image-url
Deploying container to Cloud Run service [service-name] in project [project-name] region [region-name]
X Deploying...
. Creating Revision...
. Routing traffic...
Deployment failed
ERROR: (gcloud.beta.run.deploy) INVALID_ARGUMENT: The request has errors
- '@type': type.googleapis.com/google.rpc.BadRequest
fieldViolations:
- description: spec.revisionTemplate.spec.container.ports should be empty
field: spec.revisionTemplate.spec.container.ports

更新1:我已经使用gcloud components update更新了SDK,但我仍然有相同的问题

这是我的SDK版本

$gcloud version
Google Cloud SDK 270.0.0
beta 2019.05.17
bq 2.0.49
core 2019.11.04
gsutil 4.46

我使用的是多级docker构建。这是我的Dockerfile:

FROM custom-dev-image
COPY . /project_dir
WORKDIR /project_dir
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 
/usr/local/bin/go build -a 
-ldflags '-w -extldflags "-static"' 
-o /root/go/bin/executable ./cmds/project/main.go
FROM alpine:3.10
ENV GIN_MODE=release APP_NAME=project_name
COPY --from=0 /root/go/bin/executable /usr/local/bin/
CMD executable

我遇到了同样的问题,我认为这是因为我有旧的云运行部署,该部署是在我运行gcloud components update之前创建的,因为有一些更新。

我能够通过删除整个Cloud Run服务(通过GUI(并重新从头开始部署(通过终端(来修复它。我注意到,一旦我这样做了,ports:定义就从YAML中消失了。

在此之后,我可以正常进行部署。

这是Cloud Run中的一个错误。它已经修复,现在使用CLI进行部署对我来说很有效。这是我向谷歌云提出的问题的链接,他们对此做出了回应https://issuetracker.google.com/issues/144069696.

相关内容

  • 没有找到相关文章

最新更新