Google Cloud 运行 部署无法使用 `gcloud` SDK CLI
Google Cloud Run deployment not working using `gcloud` SDK CLI
我在 Google 云 运行 上创建了一项服务,我可以使用 Container registry 上的映像通过 Google 云控制台 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
我遇到了同样的问题,我认为这是因为我有较旧的 Cloud 运行 部署,该部署是在 运行 gcloud components update
自从某些更新后创建的。
我能够通过删除整个 Cloud 运行 服务(通过 GUI)并再次从头开始部署(通过终端)来修复它。我注意到,一旦我这样做,ports:
定义就从 YAML 中消失了。
之后就可以正常部署了
这是 Cloud 运行 中的错误。它已被修复,使用 CLI 部署现在对我有用。这是我向 Google Cloud 提出的问题的 link,他们已回复 https://issuetracker.google.com/issues/144069696。
我在 Google 云 运行 上创建了一项服务,我可以使用 Container registry 上的映像通过 Google 云控制台 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
我遇到了同样的问题,我认为这是因为我有较旧的 Cloud 运行 部署,该部署是在 运行 gcloud components update
自从某些更新后创建的。
我能够通过删除整个 Cloud 运行 服务(通过 GUI)并再次从头开始部署(通过终端)来修复它。我注意到,一旦我这样做,ports:
定义就从 YAML 中消失了。
之后就可以正常部署了
这是 Cloud 运行 中的错误。它已被修复,使用 CLI 部署现在对我有用。这是我向 Google Cloud 提出的问题的 link,他们已回复 https://issuetracker.google.com/issues/144069696。