Почему моя команда «gcloud beta run services replace» не выполнена? - PullRequest
0 голосов
/ 20 марта 2020

У меня есть этот 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 не создается и не обновляется. Что я могу делать не так?

Рассматриваемая служба представляет собой образ ESPv2 для конечной точки облака.

1 Ответ

2 голосов
/ 21 марта 2020

Я попытался добавить ESPv2_ARGS как есть (используя существующую службу Cloud Run, а не конечные точки), и среда службы обновлена ​​. Похоже, что это работает по назначению.

В предыдущей редакции службы переменные среды не определены.

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"

Я могу ' t не свидетельствует о том, влияет ли эта переменная среды на ESP, но команда замены работает правильно.

...