如何解决如何通过CLI获取Google Cloud SQL实例的IP
我在Google Cloud Platform上使用Cloud SQL。
将数据库的IP作为变量很有用,因此可以在脚本中使用。
可以使用什么命令来实现?
重击示例:
export DP_IP=$(gcloud ................)
解决方法
当有多个 IP 地址(例如公共、传出和私有)可用时,接受的答案将不起作用。要从特定实例中选择您感兴趣的 IP 地址,您需要过滤地址类型。
例如获取命名实例的私有IP
gcloud sql instances list --filter=name:$DATABASE_ID --format="value(PRIVATE_ADDRESS)"
如果需要公共地址,请将 PRIVATE_ADDRESS 更改为 PRIMARY_ADDRES
,基本解决方案:
export DB_IP=$(gcloud sql instances describe $DATABASE_ID --project $PROJECT_ID --format 'value(ipAddresses.ipAddress)')
使用Secrets Manager解决方案:
使用这些Bash命令,您可以获得URL并将其保存在Secrets Manager中:
首先创建一个空的秘密:
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)")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。