Sub*_*ran 4 google-cloud-sql google-cloud-platform google-kubernetes-engine vpc-peering
我遵循的步骤:
gcloud compute networks create stg-vpc \
--subnet-mode custom
gcloud beta compute addresses create google-managed-services-stg-vpc \
--global \
--purpose=VPC_PEERING \
--description="peering range for psql" \
--addresses=10.20.0.0 \
--prefix-length=16 \
--network=stg-vpc
在 Cloud SQL Web 控制台中,我创建了一个新的 Postgres 实例。在连接选项中,我启用了私有 IP,并将其配置stg-vpc为 IP 范围google-managed-services-stg-vpc。
这将创建具有 IP 的 Cloud SQL Postgres 实例10.20.0.3。
gcloud compute networks subnets create stg-vpc-us-central1 \
--network stg-vpc \
--region us-central1 \
--range 10.10.0.0/16
gcloud -q container clusters create cluster-1 \
--zone us-central1-a \
--num-nodes 3 \
--network stg-vpc \
--subnetwork stg-vpc-us-central1
我部署了一个 Java 应用程序,该应用程序使用 Postgres JDBC 驱动程序连接到 Cloud SQL 数据库实例的私有 IP。我收到错误java.net.SocketTimeoutException: connect timed out。
我还尝试了其他步骤:
gcloud compute firewall-rules create psql-access --network stg-vpc --allow tcp:5432 --source-ranges 10.20.0.0/16.任何人都可以建议我做错了什么,以及为什么 VPC 对等互连不起作用。
按照@patrick-w 的建议,我能够通过创建VPC 原生集群连接到 Cloud SQL Postgres 。
我的 VPC 子网创建已修改为包含两个次要范围:
gcloud compute networks subnets create stg-vpc-us-central1 \
--network stg-vpc \
--region us-central1 \
--range 10.10.0.0/16 \
--secondary-range stg-vpc-us-central1-pods=10.11.0.0/16,stg-vpc-us-central1-services=10.12.0.0/16
我的集群创建命令被修改为 enable ip-alias,并添加了要使用的次要范围的详细信息。
gcloud -q container clusters create cluster-1 \
--zone us-central1-a \
--num-nodes 3 \
--enable-ip-alias \
--network stg-vpc \
--subnetwork stg-vpc-us-central1 \
--cluster-secondary-range-name stg-vpc-us-central1-pods \
--services-secondary-range-name stg-vpc-us-central1-services
| 归档时间: |
|
| 查看次数: |
2577 次 |
| 最近记录: |