微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google App Engine 灵活部署抛出错误:(gcloud.app.deploy) HttpError accessing

如何解决Google App Engine 灵活部署抛出错误:(gcloud.app.deploy) HttpError accessing

嗨,我在将 nodejs 应用程序部署到灵活引擎时遇到此错误。我无法弄清楚问题出在哪里。

我收到的错误信息

ERROR: (gcloud.app.deploy) HttpError accessing <https://appengine.googleapis.com/v1/apps/project-id/services/testws/versions?alt=json>: response: <{'vary': 'Origin,X-Origin,Referer','content-type': 'application/json; charset=UTF-8','date': 'Fri,26 Mar 2021 20:37:27 GMT','server': 'ESF','cache-control': 'private','x-xss-protection': '0','x-frame-options': 'SAMEORIGIN','x-content-type-options': 'nosniff','alt-svc': 'h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"','transfer-encoding': 'chunked','status': '500','content-length': '109','-content-encoding': 'gzip'}>,content <{
  "error": {
    "code": 500,"message": "Internal error encountered.","status": "INTERNAL"
  }
}
>
This may be due to network connectivity issues. Please check your network settings,and the status of the service you are trying to reach.

app.yaml

runtime: nodejs
env: flex
service: testws
manual_scaling:
  instances: 1
network:
  session_affinity: true
resources:
  cpu: 1
  memory_gb: 1
  disk_size_gb: 2
env_variables:
  KEY: "dev"
  PRIVATE_KEY_URL: "key"
skip_files:
  - ^node_modules/.*$

Gcloud SDK 版本

Google Cloud SDK 333.0.0
bq 2.0.65
core 2021.03.19
gsutil 4.60
kubectl 1.17.17

我通过运行 gcloud app deploy --verbosity="debug" 来添加调试日志

调试日志

>
This may be due to network connectivity issues. Please check your network settings,and the status of the service you are trying to reach.
Traceback (most recent call last):
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py",line 982,in Execute
    resources = calliope_command.Run(cli=self,args=args)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py",line 809,in Run
    resources = command_instance.Run(args)
  File "/Users/shashi/google-cloud-sdk/lib/surface/app/deploy.py",line 130,in Run
    use_legacy_apis=args.use_legacy_apis)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py",line 678,in RunDeploy
    ignore_file=args.ignore_file)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py",line 455,in Deploy
    extra_config_settings)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/appengine_api_client.py",line 172,in DeployService
    extra_config_settings)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/appengine_api_client.py",line 249,in _CreateVersion
    return self.client.apps_services_versions.Create(create_request)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/third_party/apis/appengine/v1/appengine_v1_client.py",line 830,in Create
    config,request,global_params=global_params)
  File "/Users/shashi/google-cloud-sdk/lib/third_party/apitools/base/py/base_api.py",line 729,in _RunMethod
    http,HTTP_Request,**opts)
  File "/Users/shashi/google-cloud-sdk/lib/third_party/apitools/base/py/http_wrapper.py",line 350,in MakeRequest
    check_response_func=check_response_func)
  File "/Users/shashi/google-cloud-sdk/lib/third_party/apitools/base/py/http_wrapper.py",line 406,in _MakeRequestnoretry
    check_response_func(response)
  File "/Users/shashi/google-cloud-sdk/lib/googlecloudsdk/api_lib/util/apis.py",line 267,in _CheckResponseForApiEnablement
    http_wrapper.CheckResponse(response)
  File "/Users/shashi/google-cloud-sdk/lib/third_party/apitools/base/py/http_wrapper.py",line 223,in CheckResponse
    raise exceptions.BadStatusCodeError.Fromresponse(response)
apitools.base.py.exceptions.BadStatusCodeError: HttpError accessing <https://appengine.googleapis.com/v1/apps/project-id/services/awsockets/versions?alt=json>: response: <{'vary': 'Origin,'date': 'Sun,28 Mar 2021 22:29:25 GMT',"status": "INTERNAL"
  }
}
>

解决方法

如果有人遇到此问题,我找到了错误的原因和解决方法。

原因 - 意外从谷歌云项目中删除了应用引擎灵活服务帐户。如此链接所述 - service-account

The App Engine flexible environment service agent has the App Engine Flexible Environment Service Agent role. The role includes a set of permissions needed by Node.js flexible environment to manage your flexible environment apps. For example,this role includes permissions to perform the following tasks:

 1. Deploying a new version.
 2. Stopping or deleting existing versions.
 3. Automatic weekly restarts and system updates.

解决方案 - 通过转至 IAM 并添加具有App Engine 柔性环境服务代理角色的以下名称的帐户来添加服务帐户。如此链接所述 - restore-service-account

service-[YOUR_PROJECT_NUMBER]@gae-api-prod.google.com.iam.gserviceaccount.com

我向 google tracker 提出了一个问题来更改错误消息。您可以在此处跟踪问题 - issue-tracker

更新 - 添加以下图片以进一步清晰。如果您尝试添加已删除的帐户,系统会提示。

adding deleted service account

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?