【问题标题】:GCloud SQL from K8s - errors来自 K8s 的 GCloud SQL - 错误
【发布时间】:2019-04-30 22:30:45
【问题描述】:

我正在尝试使用在同一个 pod 上运行的边车代理从 k8s 实例连接到云 sql。

根据 Google 指南,我应该重用带有 JSON 私钥的服务帐户,以让 pod 访问给定的 SQL 实例。

使用新创建的 SQL 实例,我似乎会自动获得如下所示的服务帐户: [hash]@speckle-umbrella-pg-8.iam.gserviceaccount.com

使用此帐户,我如何生成 JSON 私钥?我试图在“连接”选项卡中创建 SSL 证书,但没有创建 JSON 证书的选项。

作为第二个选项,我试图重用现有的 IAM 服务帐户 - “Compute Engine 默认服务帐户”,并为其生成了 JSON 密钥,但它不起作用。

我的设置方式是:

  1. 我创建了一个秘密kubectl create secret generic cloudsql-instance-credentials --from-file=credentials.json=[PROXY_KEY_FILE_PATH]
  2. 我将容器附加到 pod:

    - name: cloudsql-proxy image: gcr.io/cloudsql-docker/gce-proxy:1.11 command: ["/cloud_sql_proxy", "-instances=project-name:us-central1:sql-instance-name=tcp:5432", "-credential_file=/secrets/cloudsql/credentials.json"] securityContext: runAsUser: 2 # non-root user allowPrivilegeEscalation: false volumeMounts: - name: cloudsql-instance-credentials mountPath: /secrets/cloudsql readOnly: true

什么是正确的方法? Goole 文档似乎不包含完整的信息。

【问题讨论】:

    标签: google-cloud-platform google-cloud-sql google-kubernetes-engine


    【解决方案1】:

    1 - 在第一个选项中,您可以按照提到的指南 in this article 创建 JSON 私钥。生成密钥后,您可以将其存储在目录中以创建 SSL 证书。

    2- 在第二个选项中,我们需要确切知道您遇到的问题是什么。请分享错误信息。这里的问题是 Compute Engine 默认 service account may or may not have the necessary permissions 使用其他 Cloud Platform API。这取决于您的项目的配置方式。

    【讨论】:

      猜你喜欢
      • 2015-12-13
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2019-08-26
      • 2019-08-01
      • 2017-07-16
      • 1970-01-01
      • 2012-05-09
      相关资源
      最近更新 更多