为什么我的 "gcloud beta run services replace" 命令失败了?
Why is my "gcloud beta run services replace" command failing?
我有这个YAML(方括号中的部分替换为正确的内容):
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: ty-platform
spec:
template:
spec:
containers:
- image: gcr.io/[project name]/endpoints-runtime-serverless:[site URL]-2020-03-20r8
env:
- name: ESPv2_ARGS
value: ^++^--cors_preset=basic++--cors_allow_origin=[site]++--cors_allow_headers="Authorization"
我尝试用这个命令上传
gcloud beta run services replace service_replace.yaml --platform managed --region us-central1
(在已经使用 gcloud run deploy
成功部署之后)。
命令运行成功,但经测试发现替换失败。即,不会创建或更新 ESPv2_ARGS 变量。我可能做错了什么?
相关服务是 Cloud Endpoint 的 ESPv2 映像。
我尝试按原样添加您的 ESPv2_ARGS
(使用现有的云 运行 服务而不是端点)并且服务的环境 已 更新。这似乎按预期工作。
服务的先前修订没有定义环境变量。
gcloud beta run services describe ${SERVICE} \
--project=${PROJECT} \
--platform=managed \
--region=${REGION} \
--format="yaml(spec.template.spec.containers[0].env)"
null
gcloud beta run services replace service.yaml
--platform=managed \
--region=${REGION} \
--project=${PROJECT}
Deploying container to Cloud Run service [...] in project [...] region [...]
✓ Deploying... Done.
✓ Creating Revision...
✓ Routing traffic...
Done.
gcloud beta run services describe ${SERVICE} \
--project=${PROJECT} \
--platform=managed \
--region=${REGION} \
--format="yaml(spec.template.spec.containers[0].env)"
spec:
template:
spec:
containers:
- env:
- name: ESPv2_ARGS
value: ^++^--cors_preset=basic++--cors_allow_origin=[site]++--cors_allow_headers="Authorization"
使用:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: ...
spec:
template:
metadata:
name: ...
spec:
containers:
- image: ...
env:
- name: ESPv2_ARGS
value: ^++^--cors_preset=basic++--cors_allow_origin=[site]++--cors_allow_headers="Authorization"
我无法证明此环境变量是否影响 ESP,但是替换命令似乎可以正常工作。
我有这个YAML(方括号中的部分替换为正确的内容):
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: ty-platform
spec:
template:
spec:
containers:
- image: gcr.io/[project name]/endpoints-runtime-serverless:[site URL]-2020-03-20r8
env:
- name: ESPv2_ARGS
value: ^++^--cors_preset=basic++--cors_allow_origin=[site]++--cors_allow_headers="Authorization"
我尝试用这个命令上传
gcloud beta run services replace service_replace.yaml --platform managed --region us-central1
(在已经使用 gcloud run deploy
成功部署之后)。
命令运行成功,但经测试发现替换失败。即,不会创建或更新 ESPv2_ARGS 变量。我可能做错了什么?
相关服务是 Cloud Endpoint 的 ESPv2 映像。
我尝试按原样添加您的 ESPv2_ARGS
(使用现有的云 运行 服务而不是端点)并且服务的环境 已 更新。这似乎按预期工作。
服务的先前修订没有定义环境变量。
gcloud beta run services describe ${SERVICE} \
--project=${PROJECT} \
--platform=managed \
--region=${REGION} \
--format="yaml(spec.template.spec.containers[0].env)"
null
gcloud beta run services replace service.yaml
--platform=managed \
--region=${REGION} \
--project=${PROJECT}
Deploying container to Cloud Run service [...] in project [...] region [...]
✓ Deploying... Done.
✓ Creating Revision...
✓ Routing traffic...
Done.
gcloud beta run services describe ${SERVICE} \
--project=${PROJECT} \
--platform=managed \
--region=${REGION} \
--format="yaml(spec.template.spec.containers[0].env)"
spec:
template:
spec:
containers:
- env:
- name: ESPv2_ARGS
value: ^++^--cors_preset=basic++--cors_allow_origin=[site]++--cors_allow_headers="Authorization"
使用:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: ...
spec:
template:
metadata:
name: ...
spec:
containers:
- image: ...
env:
- name: ESPv2_ARGS
value: ^++^--cors_preset=basic++--cors_allow_origin=[site]++--cors_allow_headers="Authorization"
我无法证明此环境变量是否影响 ESP,但是替换命令似乎可以正常工作。