【问题标题】:Bigtable Client initialization stuck in Kubernetes containerBigtable 客户端初始化卡在 Kubernetes 容器中
【发布时间】:2019-10-20 22:41:25
【问题描述】:

我们正在尝试在 Kubernetes 上运行一个与 Bigtable 对话的 Golang 应用。应用程序似乎卡在创建客户端:

bigtableClient := bigtable.NewClient()

在将日志级别设置为信息时使用:

export GRPC_GO_LOG_SEVERITY_LEVEL="INFO"

错误信息是这样的:

WARNING: 2019/06/05 08:14:13 grpc: addrConn.createTransport failed to connect to {dns:///bigtable.googleapis.com:443 0  1}. Err :connection error: desc = "transport: Error while dialing dial tcp: address dns:///bigtable.googleapis.com:443: too many colons in address". Reconnecting...
WA

我们尝试使用 Alpine docker 映像,但似乎不起作用。 有人遇到过这种情况吗?

【问题讨论】:

  • {dns:///bigtable.googleapis.com:443 0 1} 不应该是 {dns://bigtable.googleapis.com:443 0 1}
  • 我没有配置 dns。 google bigtable 客户端在内部建立 gRPC 连接
  • 您是否在 alpine pod 上安装了 CA 证书?
  • 这是一个奇怪的错误,但库中没有无参数的NewClient 函数。您需要提供context.Contextprojectinstance 以及可选的opts。见godoc.org/cloud.google.com/go/bigtable#NewClient。我假设您也正确地传递了应用程序默认凭据,并将它们作为秘密安装,以便您的容器可以访问凭据。

标签: go kubernetes grpc alpine google-cloud-bigtable


【解决方案1】:

调试时,问题在于构建容器时使用的依赖项之一。使用 Go modules https://github.com/golang/go/wiki/Modules 管理包版本解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 2012-10-31
    相关资源
    最近更新 更多