簡體   English   中英

如何通過 CLI 獲取 Google Cloud SQL 實例的 IP

[英]How to get IP of Google Cloud SQL instance via CLI

我在谷歌雲平台上使用雲 SQL。

將數據庫的 IP 作為變量很有用,因此可以在腳本中使用。

什么命令可以用來實現這個?

Bash 示例:

export DP_IP=$(gcloud ................)

當有多個 IP 地址可用時,例如公共地址、傳出地址和私人地址,接受的答案將不起作用。 從特定實例到 select 您感興趣的 IP 地址,您需要根據地址類型進行過濾。
例如,獲取命名實例的私有 IP

gcloud sql instances list --filter=name:$DATABASE_ID --format="value(PRIVATE_ADDRESS)"

如果您想要公共地址,請將 PRIVATE_ADDRESS 更改為 PRIMARY_ADDRES

更新:另請參閱@rossco 的回答

基本解決方案:

export DB_IP=$(gcloud sql instances describe $DATABASE_ID --project $PROJECT_ID --format 'value(ipAddresses.ipAddress)')

使用 Secrets Manager 的解決方案:

使用這些 Bash 命令,您可以獲得 url 並將其保存在 Secrets Manager 中:

首先創建空 Secret:

gcloud secrets create "DB_IP" --project $PROJECT_ID --replication-policy=automatic

然后:

gcloud sql instances describe $DATABASE_ID --project $PROJECT_ID --format 'value(ipAddresses.ipAddress)' --project $PROJECT_ID | gcloud secrets versions add "DB_IP" --data-file=- --project $PROJECT_ID

或添加“:5432”的版本

DB_IP=$(gcloud sql instances describe $DATABASE_ID --project $PROJECT_ID --format 'value(ipAddresses.ipAddress)')   # capture first string.
echo "$DB_IP:5432" | gcloud secrets versions add "DB_IP" --data-file=- --project $PROJECT_ID

然后您可以根據需要從 Secrets Manager 加載它:

export DB_IP=$(gcloud secrets versions access latest --secret="DB_IP" --project $PROJECT_ID )

Yoiu 可以試試這個:

$ echo $(gcloud sql instances describe [instance id] --format="value(ipAddresses.ipAddress)")

暫無
暫無

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

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