将节点js代码部署到Google kubernetes引擎后,signingError

问题描述

我正在使用getSignedUrl获取视频的公共身份验证URL。在我的本地机器上运行正常。但是在将其部署到GKE中后,它无法正常工作。我已经检查了SigningError with Firebase getSignedUrl()上的一个相关问题。但是我看不到GKE的服务帐户来配置这些角色。在创建kubernetes集群时,我已经为集群分配了完整的存储和启用服务的权限。

我是否必须添加更多权限才能摆脱此错误,还是应该做其他事情?

解决方法

此问题已解决。我已点击此链接https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform#console来解决此问题。

我们必须从GKE访问服务帐户。 GKE不能直接访问Google云服务帐户。我已按照以下步骤从GKE访问Google云服务帐户。

  1. 我们必须创建具有所需角色的服务帐户-存储对象创建者和服务帐户令牌创建者。
  2. 生成密钥并将json文件保存在您的应用中一次。
  3. 将volume,volumeMounts,GOOGLE_APPLICATION_CREDENTIALS env变量添加到deployment.yaml中
  4. 使用cell.selectionStyle = UITableViewCell.SelectionStyle.none
  5. 使用kubectl create secret generic [key name] --from-file=key.json=PATH-TO-KEY-FILE.json 部署清单。

这些步骤将提供对存储和服务帐户的访问权限,这将解决signingError。