簡體   English   中英

GKE將多個群集與一個CloudSQL實例一起使用

[英]GKE Using multiple clusters with one CloudSQL instance

我有一個用於升級的集群,使用CloudSQL已經使用了一年多,現在我想調出另一個指向相同數據庫進行測試的GKE集群(同一Google項目)。 但是,嘗試在新群集中的舊群集中使用憑據.json時遇到錯誤。

googleapi: Error 403: The client is not authorized to make this request., notAuthorized" 

我一直在IAM周圍閑逛,以尋找一種方法來打開對新群集的權限,但是即使我看到一個具有“ Cloud SQL Client”角色的服務帳戶,也沒有找到一種方法。

共享憑據或打開權限的正確方法是什么(或者我需要為此創建一個新的服務帳戶)?

我們的模板部署yaml如下所示:

  - name: postgres-proxy
    image: gcr.io/cloudsql-docker/gce-proxy:1.09
    imagePullPolicy: Always
    command: ["/cloud_sql_proxy",
              "--dir=/cloudsql",
              "-instances=@@PROJECT@@:us-central1:@@DBINST@@=tcp:5432",
              "-credential_file=/secrets/cloudsql/credentials.json"]
    volumeMounts:
      - name: cloudsql-oauth-credentials
        mountPath: /secrets/cloudsql
        readOnly: true
      - name: ssl-certs
        mountPath: /etc/ssl/certs
      - name: cloudsql
        mountPath: /cloudsql

當您從某些Google API收到錯誤403時,會出現IAM權限錯誤。 要解決此問題,請確保將“ Cloud SQL Client”角色分配給您的服務帳戶。 要檢查向您的服務帳戶中添加了哪些權限,請轉到Cloud Project IAM頁面(左側菜單> IAM&Admin> IAM),然后查找出現問題的服務帳戶所在的行。 服務帳戶應在“角色”列上說“ Cloud SQL Client”。

如果發現“ Cloud SQL Client”角色未添加到服務帳戶,請嘗試按照本文檔中概述的說明進行操作。 如果該服務帳戶尚未在成員列表中,則不會為其分配任何角色。 單擊添加,然后輸入服務帳戶的電子郵件地址。 如果該服務帳戶已經在成員列表中,則它具有現有角色。 單擊您要編輯的服務帳戶的“角色”下的下拉列表,或者可以將“ Cloud SQL Client”角色作為附加角色添加到服務帳戶。 您需要從“ Cloud SQL”下的下拉列表中選擇“ Cloud SQL Client”角色。

如果您看到“ Cloud SQL Client”角色已經存在,請單擊“編輯”以打開下拉列表。 之后,單擊刪除並保存。 請確保該服務帳戶已從IAM頁面中刪除。 單擊Cloud Project IAM頁面頂部的ADD按鈕。 輸入服務帳戶的電子郵件地址,然后從“ Cloud SQL”下的下拉列表中選擇“ Cloud SQL Client”角色。 之后,單擊“保存”按鈕,服務帳戶應再次出現在列表下方。 這樣,我們將刪除然后再次添加服務帳戶的權限。

您也可以嘗試按照本文檔所述添加新的服務帳戶,並從“ Cloud SQL”下的下拉列表中選擇“ Cloud SQL Client”角色。 請注意,您需要“服務帳戶管理員”角色或“編輯者”原語角色來執行操作。

如果仍然不能解決問題,請確保“ Cloud SQL Instance”名稱正確。 您可以按照此StackOverflow問題中的概述,從Cloud SQL實例的Google Cloud Console頁面復制並粘貼“實例連接名稱”。

或者, 通過更新機密以使用正確的密鑰,您可以解決此問題。 您可以為一個服務帳戶創建多個密鑰。

GKE當前支持專用IP地址連接。 如果您在同一區域中並且群集啟用了IP別名,則可以連接到Cloud SQL群集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM