代码之家  ›  专栏  ›  技术社区  ›  pkaramol

将GCP服务帐户密钥传递给GKE Pod

  •  0
  • pkaramol  · 技术社区  · 5 年前

    我在TF中创建( 0.11.14 )GCP角色,将其附加到服务帐户,并为后者创建了一个密钥,如下所示:

    resource "google_service_account_key" "my_service_account_key" {
      service_account_id = "${google_service_account.my_service_account.id}"
    }
    

    然后我采取 private_key 输出方式如下:

    output "my_service_account_private_key" {
      value       = "${google_service_account_key.my_service_account_key.private_key}"
      sensitive   = true
    }
    

    这给我印了一根很长的绳子,像

    ewogICJK49fo34KFo4 .... 49k92kljg==
    

    假设该角色具有对GCS bucket进行读/写的权限,我如何将上述凭据/私钥传递给(GKE)pod/部署,以便pod被授予特定的服务帐户(从而能够执行相应权限允许的操作,例如对bucket的读/写)?

    0 回复  |  直到 5 年前
        1
  •  1
  •   dany L    5 年前

    你的主要步骤是

    1. 创建服务帐户。
    2. 为您的服务帐户提供必要的角色,以便使用GCS存储桶。
    3. 将帐户密钥另存为Kubernetes密钥。
    4. 使用服务帐户配置和部署应用程序。

    我相信你已经完成了第一步和第二步。我研究了两个例子( 1 , 2 )这可能对剩下的步骤有所帮助。