通过容器内运行的应用使用Gmail API

时间:2018-09-10 00:18:37

标签: go containers gmail-api google-kubernetes-engine

我想知道如何通过运行在(GKE的)容器内的应用程序使用Gmail API?

对于我的本地开发,我可以运行示例https://developers.google.com/gmail/api/quickstart/go以获得代码,然后程序保存令牌,成功发送电子邮件(我更改了范围,该示例仅具有只读功能)< / p>

但是我没有在K8S中运行的容器的交互式终端,因此我将凭据和令牌设置为容器内运行的进程的env var(我的程序使用了env var,本地测试发送了电子邮件成功),则似乎无法联系Gmail API。

确切的错误是: Post https://www.googleapis.com/gmail/v1/users/me/messages/send?alt=json&prettyPrint=false: dial tcp: i/o timeout"

所以我在这里有两个问题:

  1. 为什么GKE中的容器无法联系www.googleapis.com
  2. 处理容器内gmail api的最佳方法是什么?我是否缺少设置Google API的步骤?

谢谢, 比尔

1 个答案:

答案 0 :(得分:1)

这似乎是退出的dns pod之一,导致dns查找挂起并导致tcp I / O超时:

kube-dns-5dcfcbf5fb-w2vjc 0/4 ExitCode:0 23 3d

修复了pod之后,现在该应用程序可以通过gmail API发送电子邮件。