Nodejs firebase-admin authenticate with application default credentials in Google Kubernetes engine
我正在尝试将firebase-admin sdk集成到kubernetes集群,但是我在pod上遇到以下错误。群集应具有所需的权限。
1 2 3 4 5 | FIREBASE WARNING: Provided authentication credentials for the app named "[DEFAULT]" are invalid. This usually indicates your app was not initialized correctly. Make sure the"credential" property provided to initializeApp() is authorized to access the specified"databaseURL" and is from the correct project. |
初始化代码:
1 2 3 4 5 6 | var admin = require("firebase-admin"); admin.initializeApp({ credential: admin.credential.applicationDefault(), databaseURL:"https://<DATABASE_NAME>.firebaseio.com" }); |
在我的开发环境中,初始化工作得很好。 gcloud已针对我的项目进行了身份验证。
如何为Kubernetes引擎启用应用程序默认凭据?
预先感谢。
您是否已在Kubernetes /容器集群中配置了服务帐户以对您的数据库/其他Google Cloud Platform服务进行身份验证?
服务帐户不仅可以用于提供使用Google Cloud Platform API所需的授权,而且Kubernetes /容器引擎应用程序还可以使用它们来对其他服务进行身份验证。
您可以将服务帐户创建的凭据导入到容器集群中,以便在Kubernetes中运行的应用程序可以使用它们。
使用Kubernetes Secret资源类型可以将凭据/密钥存储在容器集群内部,以便部署在集群上的应用程序可以直接使用它们。
正如Hiranya在其注释中指出的那样,
查看此页面,尤其是步骤3、4和5,以获取有关执行此操作的更多详细信息。