aibangjuxin / knowledge

My knowledge
1 stars 0 forks source link

cluster-cluster #107

Open aibangjuxin opened 10 months ago

aibangjuxin commented 10 months ago

在Google工程中 我如果创建多个VPC 比如VPC1 和 VPC2 每个VPC 下面去创建每个VPC 对应的GKE cluster
比如对应的名称为cluster 1 和cluster 2 假如我想要 cluster 1 下的 GKE deployment rt 能够访问到 cluster 2 下对外暴露的服务 在google现有的方案当中有哪些可以实现?或者需要注意哪些地方? 比如IP的规划等

在Google工程中,如果要让cluster 1下的GKE deployment rt能够访问到cluster 2下对外暴露的服务,有以下几种方案:

方案一:使用VPC网络对等连接

  1. 在VPC1和VPC2之间创建VPC网络对等连接。
  2. 在cluster 1和cluster 2中分别创建Kubernetes集群。
  3. 在cluster 1中,将deployment rt的Service类型设置为NodePortLoadBalancer,并指定一个外部IP地址。
  4. 在cluster 2中,创建一个Service,将类型设置为ExternalName,并指定cluster 1中deployment rt的外部IP地址。
  5. 在cluster 1中,使用kubectl expose命令将deployment rt暴露为Service。

方案二:使用Cloud VPN创建站点到站点的VPN连接

  1. 在VPC1和VPC2中分别创建Cloud VPN网关。
  2. 在cluster 1和cluster 2中分别创建Kubernetes集群。
  3. 在VPC1和VPC2之间创建站点到站点的VPN连接。
  4. 在cluster 1中,将deployment rt的Service类型设置为NodePortLoadBalancer,并指定一个内部IP地址。
  5. 在cluster 2中,创建一个Service,将类型设置为ExternalName,并指定cluster 1中deployment rt的内部IP地址。
  6. 在cluster 1中,使用kubectl expose命令将deployment rt暴露为Service。

方案三:使用Istio服务网格

  1. 在cluster 1和cluster 2中分别安装Istio服务网格。
  2. 在cluster 1中,将deployment rt添加到Istio服务网格中。
  3. 在cluster 2中,创建一个Service,将类型设置为ExternalName,并指定cluster 1中deployment rt的名称。
  4. 在cluster 1中,使用kubectl expose命令将deployment rt暴露为Service。

需要注意的地方:

Google现有的方案中,可以使用方案一或方案二来实现cluster 1下的GKE deployment rt能够访问到cluster 2下对外暴露的服务。

方案一更简单,但需要确保VPC网络对等连接是安全的。方案二更安全,但需要考虑站点到站点的VPN连接的性能和成本。

aibangjuxin commented 10 months ago

在Google项目当中,对等网络的专用名称是VPC网络对等连接(VPC network peering)。

VPC网络对等连接允许您在两个VPC网络之间建立私有连接,以便这两个VPC网络中的实例可以相互通信,而无需使用公共互联网。

VPC网络对等连接是通过在两个VPC网络之间创建一个对等连接来实现的。对等连接是一种逻辑连接,它允许两个VPC网络中的实例相互通信,就像它们位于同一个VPC网络中一样。

要创建VPC网络对等连接,您需要在两个VPC网络中分别创建一个对等连接请求。然后,您需要在另一个VPC网络中接受对等连接请求。对等连接请求被接受后,VPC网络对等连接就创建成功了。

VPC网络对等连接可以用于各种场景,例如:

VPC网络对等连接是一种安全且可靠的连接方式,它可以帮助您构建更灵活、更具弹性的网络架构。

要创建VPC1和VPC2之间的VPC网络对等连接,请按照以下步骤操作:

  1. 确保VPC1和VPC2都在同一个项目中。
  2. 确保VPC1和VPC2都启用了VPC网络对等连接功能。
  3. 在VPC1中,创建一个VPC网络对等连接请求。
  4. 在VPC2中,接受VPC网络对等连接请求。
  5. 在VPC1和VPC2中,配置路由表,以便流量能够通过VPC网络对等连接路由。

详细步骤如下:

  1. 确保VPC1和VPC2都在同一个项目中。

    如果VPC1和VPC2不在同一个项目中,则无法创建VPC网络对等连接。您可以通过以下命令检查VPC所在的项目:

    gcloud compute networks describe VPC1 --project=PROJECT_ID
    gcloud compute networks describe VPC2 --project=PROJECT_ID

    如果VPC1和VPC2不在同一个项目中,则需要将其中一个VPC移动到另一个项目中。

  2. 确保VPC1和VPC2都启用了VPC网络对等连接功能。

    要启用VPC网络对等连接功能,请按照以下步骤操作:

    1. 在Google Cloud控制台中,转到“VPC网络”页面。
    2. 选择VPC1或VPC2。
    3. 单击“编辑”按钮。
    4. 在“高级选项”部分,选中“启用VPC网络对等连接”复选框。
    5. 单击“保存”按钮。
  3. 在VPC1中,创建一个VPC网络对等连接请求。

    要创建VPC网络对等连接请求,请按照以下步骤操作:

    1. 在Google Cloud控制台中,转到“VPC网络”页面。
    2. 选择VPC1。
    3. 单击“VPC网络对等连接”选项卡。
    4. 单击“创建对等连接”按钮。
    5. 在“对等连接名称”字段中,输入VPC网络对等连接的名称。
    6. 在“对等项目”字段中,输入VPC2所在的项目ID。
    7. 在“对等VPC网络”字段中,输入VPC2的名称。
    8. 单击“创建”按钮。
  4. 在VPC2中,接受VPC网络对等连接请求。

    要接受VPC网络对等连接请求,请按照以下步骤操作:

    1. 在Google Cloud控制台中,转到“VPC网络”页面。
    2. 选择VPC2。
    3. 单击“VPC网络对等连接”选项卡。
    4. 在“传入对等连接请求”部分,找到VPC1发出的请求。
    5. 单击“接受”按钮。
  5. 在VPC1和VPC2中,配置路由表,以便流量能够通过VPC网络对等连接路由。

    要配置路由表,请按照以下步骤操作:

    1. 在Google Cloud控制台中,转到“VPC网络”页面。
    2. 选择VPC1或VPC2。
    3. 单击“路由表”选项卡。
    4. 单击“创建路由”按钮。
    5. 在“路由名称”字段中,输入路由的名称。
    6. 在“网络目标”字段中,输入VPC2的名称。
    7. 在“下一跳”字段中,输入VPC网络对等连接的名称。
    8. 单击“创建”按钮。

    在VPC2中,也需要按照同样的步骤配置路由表。

完成以上步骤后,VPC1和VPC2之间的VPC网络对等连接就创建成功了。流量可以通过VPC网络对等连接在VPC1和VPC2之间路由。

aibangjuxin commented 10 months ago

除了VPC网络对等连接之外,还有一些可行的方案可以实现两个VPC之间的CLUSTER之间互相访问:

PSC解决方案的优势在于,它可以提供更安全、更可靠的连接方式。PSC解决方案使用私有IP地址和加密连接,可以防止数据泄露和窃听。此外,PSC解决方案还支持身份认证和授权,可以确保只有授权用户才能访问私有网络中的服务。

要使用PSC解决方案,您需要在Google Cloud控制台中创建一个PSC服务。然后,您需要在私有网络中部署PSC代理。PSC代理负责将私有网络中的流量转发到Google Cloud服务。

PSC解决方案的缺点在于,它需要额外的配置和管理。此外,PSC解决方案可能会增加网络延迟和降低网络吞吐量。

综合考虑,如果您需要实现两个VPC之间的CLUSTER之间互相访问,并且对安全性和可靠性要求较高,那么您可以考虑使用PSC解决方案。

如果您对PSC解决方案感兴趣,可以参考以下文档:

aibangjuxin commented 10 months ago

在Google工程中 我如果创建多个VPC 比如VPC1 和 VPC2 每个VPC 下面去创建每个VPC 对应的GKE cluster 比如对应的名称为cluster 1 和cluster 2 假如我想要 cluster 1 下的 GKE deployment rt 能够访问到 cluster 2 下对外暴露的服务 在google现有的方案当中 我想使用PSC解决方案 能不能给我一个详细的操作步骤?

  1. 创建两个VPC和两个GKE集群

    1. 创建VPC1和VPC2。
    2. 在VPC1中创建GKE集群cluster1。
    3. 在VPC2中创建GKE集群cluster2。
  2. 启用PSC

    1. 在VPC1和VPC2中启用PSC。
  3. 创建对等互连

    1. 在VPC1和VPC2之间创建对等互连。
  4. 创建路由

    1. 在VPC1中创建一条路由,将流量从cluster1路由到对等互连。
    2. 在VPC2中创建一条路由,将流量从对等互连路由到cluster2。
  5. 部署服务

    1. 在cluster2中部署一个对外暴露的服务。
    2. 在cluster1中部署一个deployment,该deployment使用cluster2中服务的IP地址和端口号。
  6. 测试

    1. 在cluster1中测试deployment是否能够访问cluster2中的服务。

要在VPC1和VPC2中启用PSC,请按照以下步骤操作:

  1. 在VPC1中启用PSC

    1. 访问Google Cloud控制台中的VPC网络页面。
    2. 选择VPC1。
    3. 单击“编辑”。
    4. 在“高级路由”部分,启用“私有服务连接”。
    5. 单击“保存”。
  2. 在VPC2中启用PSC

    1. 访问Google Cloud控制台中的VPC网络页面。
    2. 选择VPC2。
    3. 单击“编辑”。
    4. 在“高级路由”部分,启用“私有服务连接”。
    5. 单击“保存”。

现在,PSC已在VPC1和VPC2中启用。

请注意,PSC目前仅适用于具有相同项目ID的VPC。

aibangjuxin commented 10 months ago

可以,以下是使用 PSC 解决方案访问多个 VPC 下的 GKE cluster 的详细操作步骤:

步骤 1:创建 VPC 连接

首先,您需要创建 VPC 连接来连接 VPC1 和 VPC2。可以使用 Cloud VPN 或 Cloud Interconnect 来创建 VPC 连接。

使用 Cloud VPN 创建 VPC 连接

  1. 在 Google Cloud Console 中,转到 VPC 网络 页面。
  2. 单击 创建 VPN 连接
  3. 名称 字段中,输入 VPC 连接的名称。
  4. 区域 字段中,选择 VPC1 和 VPC2 所在的区域。
  5. 类型 字段中,选择 专用
  6. VPN 隧道类型 字段中,选择 动态
  7. BGP 对等端 字段中,输入 VPC2 的 BGP 对等端信息。
  8. 单击 创建

使用 Cloud Interconnect 创建 VPC 连接

  1. 在 Google Cloud Console 中,转到 Cloud Interconnect 页面。
  2. 单击 创建连接
  3. 名称 字段中,输入 VPC 连接的名称。
  4. 区域 字段中,选择 VPC1 和 VPC2 所在的区域。
  5. 类型 字段中,选择 专用
  6. 连接类型 字段中,选择 VLAN
  7. VLAN ID 字段中,输入 VPC2 的 VLAN ID。
  8. 单击 创建

步骤 2:创建 VPC 路由

接下来,您需要为 VPC1 创建 VPC 路由,以将流量路由到 VPC2 的专用端点。

  1. 在 Google Cloud Console 中,转到 VPC 网络 页面。
  2. 选择 VPC1。
  3. 路由 部分,单击 创建路由
  4. 名称 字段中,输入路由的名称。
  5. 目的网段 字段中,输入 VPC2 的专用端点 IP 地址范围。
  6. 下一跳 字段中,选择 VPC 连接。
  7. 单击 创建

步骤 3:创建 PSC 服务网关

然后,您需要创建 PSC 服务网关,以允许 VPC1 访问 VPC2 的服务。

  1. 在 Google Cloud Console 中,转到 VPC 网络 页面。
  2. 选择 VPC1。
  3. 服务网关 部分,单击 创建服务网关
  4. 名称 字段中,输入服务网关的名称。
  5. 目的网段 字段中,输入 VPC2 的专用端点 IP 地址范围。
  6. 服务类型 字段中,选择 内部
  7. 单击 创建

步骤 4:创建 PSC 服务

最后,您需要创建 PSC 服务,以将 VPC2 的服务公开到 VPC1。

  1. 在 Google Cloud Console 中,转到 VPC 网络 页面。
  2. 选择 VPC2。
  3. 服务 部分,单击 创建服务
  4. 名称 字段中,输入服务的名称。
  5. IP 地址 字段中,输入 PSC 服务网关的 IP 地址。
  6. 端口 字段中,输入服务的端口。
  7. 协议 字段中,选择服务的协议。
  8. 单击 创建

完成上述步骤后,VPC1 下的 GKE deployment rt 就可以访问 VPC2 下对外暴露的服务了。

以下是一些额外的注意事项:

当然,以下是使用命令行创建 VPC 连接、VPC 路由、PSC 服务网关和 PSC 服务的操作步骤:

创建 VPC 连接

gcloud compute networks vpc-peerings create <vpc-connection-name> \
--network <vpc-1-name> \
--remote-network <vpc-2-name> \
--region <region>

例如,要创建一个名为 vpc-connection-1 的 VPC 连接,连接 VPC1 和 VPC2,位于 us-central1 区域,请运行以下命令:

gcloud compute networks vpc-peerings create vpc-connection-1 \
--network vpc-1 \
--remote-network vpc-2 \
--region us-central1

创建 VPC 路由

gcloud compute routes create <route-name> \
--network <vpc-1-name> \
--destination-range <vpc-2-cidr-range> \
--next-hop-gateway <vpc-connection-name>

例如,要创建一个名为 route-1 的 VPC 路由,将流量从 VPC1 的 10.0.0.0/16 网段路由到 VPC2 的专用端点,请运行以下命令:

gcloud compute routes create route-1 \
--network vpc-1 \
--destination-range 10.0.0.0/16 \
--next-hop-gateway vpc-connection-1

创建 PSC 服务网关

gcloud compute service-gateways create <service-gateway-name> \
--network <vpc-1-name> \
--destination-range <vpc-2-cidr-range> \
--service-type INTERNAL

例如,要创建一个名为 service-gateway-1 的 PSC 服务网关,允许 VPC1 访问 VPC2 的 10.0.0.0/16 网段,请运行以下命令:

gcloud compute service-gateways create service-gateway-1 \
--network vpc-1 \
--destination-range 10.0.0.0/16 \
--service-type INTERNAL

创建 PSC 服务

gcloud compute services create <service-name> \
--address <service-gateway-ip> \
--port <service-port> \
--protocol <service-protocol> \
--enable-backend-services

例如,要创建一个名为 service-1 的 PSC 服务,将服务公开到 VPC1,IP 地址为 10.0.0.100,端口为 80,协议为 TCP,请运行以下命令:

gcloud compute services create service-1 \
--address 10.0.0.100 \
--port 80 \
--protocol TCP \
--enable-backend-services

完成上述步骤后,VPC1 下的 GKE deployment rt 就可以访问 VPC2 下对外暴露的服务了。

以下是一些额外的注意事项:

aibangjuxin commented 10 months ago

好的,如果您想要一个GKE cluster中的deployment访问另一个GKE cluster中对外暴露的服务,使用 VPC peering 连接是一种好方法。

具体操作步骤如下:

  1. 在两个VPC BETWEEN创建VPC peering连接。这会在两个VPC之间创建一个网络连通通道。

  2. 在两个GKE cluster之间配置路由规则。为每个cluster添加到对方CIDR范围的路由。这会使流量可以在两个cluster之间流通。

  3. 确保两个GKE cluster之间的防火墙规则允许所需的流量。至少打开目标服务使用的端口。

  4. 在源GKE cluster中,部署想要访问目标服务的应用。使用目标服务的内部IP和端口访问。

  5. 在目标GKE cluster中,通过Service或Ingress公开目标应用程序。

  6. 从源应用程序访问目标服务,流量将通过VPC peering连接在两个cluster之间传输。

这样通过VPC对等连接和路由表配置,两个GKE cluster中的应用程序可以互相通信,而无需暴露到公网上。

需要注意的几个关键点:

请让我知道如果您在配置中有任何其他问题!

aibangjuxin commented 10 months ago

在Google Cloud Platform (GCP) 中,如果您想要让位于不同VPC(如VPC1和VPC2)中的两个GKE集群(如cluster 1和cluster 2)之间的服务能够相互访问,您可以使用Private Service Connect (PSC) 来实现这一点。PSC是Google Cloud网络的一个功能,它允许您从一个VPC网络内部以私密方式访问托管服务,包括其他VPC中的服务[5]。

由于您提到使用的是GCP 2.0,这里提供的步骤是基于当前可用的文档和最佳实践。请注意,具体的步骤可能会根据GCP的版本和更新有所不同。

以下是使用PSC连接两个GKE集群的大致步骤:

  1. 确保两个VPC(VPC1和VPC2)都已经创建,并且每个VPC下都有一个GKE集群(cluster 1和cluster 2)。

  2. 在两个VPC中创建PSC端点。这些端点将用于连接两个VPC中的服务。

  3. 在VPC1中创建一个PSC连接器,将其指向VPC2中的服务。

  4. 在VPC2中创建一个PSC连接器,将其指向VPC1中的服务。

  5. 更新两个集群的网络策略,允许通过PSC端点进行通信。

  6. 配置DNS,以便集群可以解析对方的服务名称。

  7. 测试连接,确保cluster 1中的服务可以访问cluster 2中的服务,反之亦然。

请注意,这些步骤是高层次的指导,具体实施时可能需要进行更详细的配置。例如,您可能需要配置VPC对等连接[2],或者在使用共享VPC时进行特定的设置[3]。此外,您可能需要考虑网络安全和隔离的要求,确保只有授权的服务可以进行通信。

由于GCP的具体实现细节可能随时间变化,建议您查阅最新的GCP文档以获取最准确的操作步骤。如果您在实施过程中遇到具体问题,可以参考GCP的官方文档或者寻求Google Cloud的技术支持。

Sources [1] 使用 Private Service Connect | Apigee | Google Cloud https://cloud.google.com/apigee/docs/api-platform/system-administration/psc-overview?hl=zh-cn [2] VPC 网络对等互连 | Google Cloud https://cloud.google.com/vpc/docs/vpc-peering?hl=zh-cn [3] 设置使用共享 VPC 的多集群 Service | Google Kubernetes Engine (GKE) | Google Cloud https://cloud.google.com/kubernetes-engine/docs/how-to/msc-setup-with-shared-vpc-networks?hl=zh-cn [4] Veritas™ Resiliency https://sort.veritas.com/DocPortal/pdf/152523581-152523584-1 [5] Private Service Connect | VPC | Google Cloud https://cloud.google.com/vpc/docs/private-service-connect?hl=zh-cn [6] 多个网络接口 | VPC | Google Cloud https://cloud.google.com/vpc/docs/multiple-interfaces-concepts?hl=zh-cn [7] 创建专用集群 | Google Kubernetes Engine (GKE) | Google Cloud https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters?hl=zh-cn [8] 为您的工作空间启用私有服务连接|谷歌云上的Databricks开云体育 ... https://www.evbrickell.com/docs.gcp/administration-guide/cloud-configurations/gcp/private-service-connect.html [9] Migration to Azure – 1 day of implementation https://azuremarketplace.microsoft.com/zh-cn/marketplace/consulting-services/transitiontechnologiespscspzoo.ttpsc_azure_migration_consulting1 [10] Google Cloud VPC Peering 之路由传递 - 技术博客 https://wordpress.meshcloud.com/google-cloud-vpc-peering-%E4%B9%8B%E8%B7%AF%E7%94%B1%E4%BC%A0%E9%80%92%EF%BF%BC/ [11] GKE 集群配置参考 - Rancher https://ranchermanager.docs.rancher.com/zh/v2.7/pages-for-subheaders/gke-cluster-configuration [12] VMware Cloud on AWS Features and Roadmap https://www.vmware.com/cn/products/vmc-on-aws/features-and-roadmaps.html [13] 与 Terraform 模块交互 | Google Cloud Skills Boost https://www.cloudskillsboost.google/focuses/15836?locale=zh&parent=catalog [14] GKE集群配置参考 | Rancher文档 https://docs.rancher.cn/docs/rancher2.5/cluster-admin/editing-clusters/gke-config-reference/_index/ [15] PoC 指南:Citrix DaaS 支持的 Google 云端平台 (GCP) 共享 VPC https://docs.citrix.com/zh-cn/tech-zone/learn/poc-guides/gcp-shared-vpc.html [16] 在Google Cloud 中创建新的数据代理 - NetApp https://docs.netapp.com/zh-cn/bluexp-copy-sync/task-installing-gcp.html [17] Kubernetes:托管引擎的比较 https://developer.oracle.com/zh/learn/k8s/k8s_comparison.html [18] 什么是AWS云服务? - Transition Technologies PSC https://ttpsc.com/zh/blog/what-is-amazon-web-services-cloud/ [19] Google Cloud 和 Azure 服务的比较 - Azure Architecture Center https://learn.microsoft.com/zh-cn/azure/architecture/gcp-professional/services [20] GKE中的VPC本地集群无法在GKE 1.14中通信 - 腾讯云 https://cloud.tencent.com/developer/ask/sof/108128083 [21] 使用VMware HCX -快速入門指南、將工作負載移轉至Google Cloud ... https://docs.netapp.com/zh-tw/netapp-solutions/ehc/gcp/gcp-migrate-vmware-hcx.html [22] VM-配置和故障排除系列资源列表 https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u0000008UrKCAU&lang=zh_CN [23] GKE上同一组pod同时支持多种Service模式 - InfoQ https://www.infoq.cn/article/1mhqjhhaf6k6f1iganac [24] 私有网络VPC,你需要知道的_云计算 - 华为云社区 https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&ordertype=2&tid=157166 [25] 在GCP GKE 上部署TiDB 集群| PingCAP 归档文档站 https://docs-archive.pingcap.com/zh/tidb-in-kubernetes/v1.1/deploy-on-gcp-gke

By Perplexity at https://www.perplexity.ai/search/f3b57cbc-8448-411e-b95b-cb10caa2dc1e

在Google Cloud Platform (GCP)中,如果你想要让位于不同VPC(如VPC1和VPC2)中的两个GKE集群(如cluster 1和cluster 2)之间的服务能够相互访问,你可以使用Private Service Connect (PSC)来实现这一点。PSC是Google Cloud网络的一个功能,它允许你从一个VPC网络内部以私密方式访问托管服务,包括其他VPC中的服务[1]。

以下是使用PSC连接两个GKE集群的大致步骤:

  1. 确保两个VPC(VPC1和VPC2)都已经创建,并且每个VPC下都有一个GKE集群(cluster 1和cluster 2)。

  2. 在两个VPC中创建PSC端点。这些端点将用于连接两个VPC中的服务。

  3. 在VPC1中创建一个PSC连接器,将其指向VPC2中的服务。

  4. 在VPC2中创建一个PSC连接器,将其指向VPC1中的服务。

  5. 配置GKE集群以使用PSC。这可能包括更新集群的网络策略,以允许从其他VPC中的服务接收流量。

  6. 验证配置是否正确。你可以尝试从cluster 1中的一个pod发送请求到cluster 2中的一个服务,看看是否能够成功。

请注意,这些步骤可能需要根据你的具体需求进行调整。例如,如果你的服务需要公网访问,你可能还需要配置公网IP地址和NAT规则。此外,你还需要确保你的网络安全策略允许这种跨VPC的通信[1]。

Sources [1] Private Service Connect | VPC | Google Cloud https://cloud.google.com/vpc/docs/private-service-connect?hl=zh-cn [2] 排查政策和访问权限问题 | VPC | Google Cloud https://cloud.google.com/vpc/docs/troubleshooting-policy-and-access-problems?hl=zh-cn [3] 示例:MySQL 实例的专用连接 | 集成连接器 | Google Cloud https://cloud.google.com/integration-connectors/docs/configure-psc?hl=zh-cn [4] 使用 Private Service Connect | Apigee | Google Cloud https://cloud.google.com/apigee/docs/api-platform/system-administration/psc-overview?hl=zh-cn [5] 排查Google Cloud 服务的常见VPC Service Controls 问题 https://cloud.google.com/vpc-service-controls/docs/troubleshoot-services-within-perimeter?hl=zh-cn [6] 示例:Cloud SQL 实例的专用连接 | 集成连接器 | Google Cloud https://cloud.google.com/integration-connectors/docs/configure-cloudsql-psc?hl=zh-cn [7] 私有内部访问—将流量限制在内网中 - 技术博客 https://wordpress.meshcloud.com/%E7%A7%81%E6%9C%89%E5%86%85%E9%83%A8%E8%AE%BF%E9%97%AE-%E5%B0%86%E6%B5%81%E9%87%8F%E9%99%90%E5%88%B6%E5%9C%A8%E5%86%85%E7%BD%91%E4%B8%AD/ [8] Directory Sync 使用入门 https://support.google.com/a/answer/10616183?hl=zh-Hans [9] Professor哥- 博客园 https://www.cnblogs.com/TopGear/?page=1 [10] 介紹透過Private Service Connect Interface 的託管服務輸出 - CloudMile https://mile.cloud/zh/resources/blog/Private-Service-Connect-Interface_700?p=14026 [11] Google Cloud VPC Peering 之路由传递 - 技术博客 https://wordpress.meshcloud.com/google-cloud-vpc-peering-%E4%B9%8B%E8%B7%AF%E7%94%B1%E4%BC%A0%E9%80%92%EF%BF%BC/ [12] Google cloud 的VPC Network 虚拟局域网介绍原创 - CSDN博客 https://blog.csdn.net/nvd11/article/details/134903733 [13] 创建用于训练视频对象跟踪模型的数据集 | Vertex AI | Google Cloud https://cloud.google.com/vertex-ai/docs/video-data/object-tracking/create-dataset?hl=zh-cn [14] 支持的网络连接- Google Workspace 管理员帮助 https://support.google.com/a/answer/10343242?hl=zh-Hans [15] 介紹透過 Private Service Connect Interface 的託管服務輸出 https://mile.cloud/zh/resources/blog/Private-Service-Connect-Interface_700 [16] Professor哥- 博客园 https://www.cnblogs.com/TopGear [17] 步骤 2:配置网络服务 https://docs.citrix.com/zh-cn/tech-zone/learn/poc-guides/gcp-enterprisedaas-configure-network-services.html [18] GCP 专用服务访问(PSA)实践 - 今日头条 https://www.toutiao.com/article/7149062349016646148/ [19] GitHub - GoogleCloudPlatform/cloud-sql-python-connector: A Python library for connecting securely to your Cloud SQL instances. https://github.com/GoogleCloudPlatform/cloud-sql-python-connector [20] 精华文章---面向 Google Cloud Platform (GCP) 的 InterSystems IRIS 示例参考架构 https://cn.community.intersystems.com/post/%E7%B2%BE%E5%8D%8E%E6%96%87%E7%AB%A0-%E9%9D%A2%E5%90%91-google-cloud-platform-gcp-%E7%9A%84-intersystems-iris-%E7%A4%BA%E4%BE%8B%E5%8F%82%E8%80%83%E6%9E%B6%E6%9E%84 [21] PoC 指南:Citrix DaaS 支持的 Google 云端平台 (GCP) 共享 VPC https://docs.citrix.com/zh-cn/tech-zone/learn/poc-guides/gcp-shared-vpc.html [22] AWS DataSync 的新增功能 — 在 AWS 和 Google Cloud Storage 或 AWS 和 Microsoft Azure 文件之间移动数据 | Amazon Web Services https://aws.amazon.com/cn/blogs/china/new-for-aws-datasync-move-data-between-aws-and-google-cloud-storage-or-aws-and-microsoft-azure-files/

By Perplexity at https://www.perplexity.ai/search/f3b57cbc-8448-411e-b95b-cb10caa2dc1e

aibangjuxin commented 10 months ago

你好,这是Bing。我可以帮你了解Google的PSC方案,它是一种允许你在VPC网络内部私密地访问托管服务的网络功能¹。如果你想使用PSC方案来实现不同VPC网络下的GKE集群之间的通信,你需要遵循以下步骤:

这样,你就可以在VPC1中使用service2的IP地址来访问cluster2下对外暴露的服务,而在VPC2中使用service1的IP地址来访问cluster1下的GKE deployment rt¹。你可以参考这篇文档来了解更多关于PSC方案的细节和示例。希望这能帮助你解决你的问题。😊

Source: Conversation with Bing, 1/15/2024 (1) Private Service Connect | VPC | Google Cloud. https://cloud.google.com/vpc/docs/private-service-connect. (2) Publish services by using Private Service Connect - Google Cloud. https://cloud.google.com/vpc/docs/configure-private-service-connect-producer. (3) Pacman Doodle - Google. https://www.google.com/logos/2010/pacman10-i.html.

当然可以,我可以为你生成一些使用gcloud命令行工具的示例命令,帮助你实现上面的步骤。请注意,这些命令可能需要你根据你的具体情况进行一些修改,例如替换项目ID,网络名称,IP地址等参数。你可以参考这篇文档来了解更多关于gcloud命令行工具的用法和选项。

# 在VPC1中创建一个PSC端点,命名为endpoint1
gcloud compute private-service-connect endpoints create endpoint1 \
    --project=project1 \
    --network=vpc1 \
    --region=us-central1

# 在VPC2中创建一个PSC端点,命名为endpoint2
gcloud compute private-service-connect endpoints create endpoint2 \
    --project=project2 \
    --network=vpc2 \
    --region=us-central1

# 在VPC1中创建一个PSC后端,连接到endpoint1,并指定cluster1下的GKE deployment rt的内部IP地址和端口
gcloud compute private-service-connect backends create backend1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --ip-address=10.0.0.1 \
    --port=8080

# 在VPC2中创建一个PSC接口,连接到endpoint2,并指定cluster2下对外暴露的服务的内部IP地址和端口
gcloud compute private-service-connect interfaces create interface1 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --ip-address=10.0.1.1 \
    --port=8080

# 在VPC1中创建一个PSC服务,连接到endpoint1,并指定一个服务名称,例如service1
gcloud compute private-service-connect services create service1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --service-name=service1.example.com

# 在VPC2中创建一个PSC服务,连接到endpoint2,并指定一个服务名称,例如service2
gcloud compute private-service-connect services create service2 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --service-name=service2.example.com

# 在VPC1中创建一个PSC订阅,连接到endpoint1,并指定要订阅的服务名称,例如service2
gcloud compute private-service-connect subscriptions create subscription1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --service-name=service2.example.com

# 在VPC2中创建一个PSC订阅,连接到endpoint2,并指定要订阅的服务名称,例如service1
gcloud compute private-service-connect subscriptions create subscription2 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --service-name=service1.example.com

这些命令应该能够帮助你使用PSC方案来实现不同VPC网络下的GKE集群之间的通信。如果你有任何其他问题,欢迎随时向我提问。😊

Source: Conversation with Bing, 1/15/2024 (1) Private Service Connect | VPC | Google Cloud. https://cloud.google.com/vpc/docs/private-service-connect. (2) Pacman Doodle - Google. https://www.google.com/logos/2010/pacman10-i.html. (3) Publish services by using Private Service Connect - Google Cloud. https://cloud.google.com/vpc/docs/configure-private-service-connect-producer.

aibangjuxin commented 10 months ago

你好,这是Bing。我可以帮你了解如何使用Google的PSC方案来实现不同VPC网络下的GKE集群之间的通信。PSC方案是一种允许你在VPC网络内部私密地访问托管服务的网络功能¹。如果你想使用PSC方案来访问不同VPC网络下的load balance服务,你需要遵循以下步骤:

这样,你就可以在VPC1中使用service2的IP地址来访问cluster2下的load balance服务,而在VPC2中使用service1的IP地址来访问cluster1下的GKE deployment rt¹。你可以参考这篇文档来了解更多关于PSC方案的细节和示例。下面是一些使用gcloud命令行工具的示例命令,帮助你实现上面的步骤。请注意,这些命令可能需要你根据你的具体情况进行一些修改,例如替换项目ID,网络名称,IP地址等参数。你可以参考这篇文档来了解更多关于gcloud命令行工具的用法和选项。

# 在VPC1中创建一个PSC端点,命名为endpoint1
gcloud compute private-service-connect endpoints create endpoint1 \
    --project=project1 \
    --network=vpc1 \
    --region=us-central1

# 在VPC2中创建一个PSC端点,命名为endpoint2
gcloud compute private-service-connect endpoints create endpoint2 \
    --project=project2 \
    --network=vpc2 \
    --region=us-central1

# 在VPC1中创建一个PSC后端,连接到endpoint1,并指定cluster1下的GKE deployment rt的内部IP地址和端口
gcloud compute private-service-connect backends create backend1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --ip-address=10.0.0.1 \
    --port=8080

# 在VPC2中创建一个PSC接口,连接到endpoint2,并指定cluster2下的load balance服务的内部IP地址和端口
gcloud compute private-service-connect interfaces create interface1 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --ip-address=10.0.1.1 \
    --port=8080

# 在VPC1中创建一个PSC服务,连接到endpoint1,并指定一个服务名称,例如service1
gcloud compute private-service-connect services create service1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --service-name=service1.example.com

# 在VPC2中创建一个PSC服务,连接到endpoint2,并指定一个服务名称,例如service2
gcloud compute private-service-connect services create service2 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --service-name=service2.example.com

# 在VPC1中创建一个PSC订阅,连接到endpoint1,并指定要订阅的服务名称,例如service2
gcloud compute private-service-connect subscriptions create subscription1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --service-name=service2.example.com

# 在VPC2中创建一个PSC订阅,连接到endpoint2,并指定要订阅的服务名称,例如service1
gcloud compute private-service-connect subscriptions create subscription2 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --service-name=service1.example.com

希望这能帮助你使用PSC方案来实现不同VPC网络下的GKE集群之间的通信。如果你有任何其他问题,欢迎随时向我提问。😊

Source: Conversation with Bing, 1/15/2024 (1) Private Service Connect | VPC | Google Cloud. https://cloud.google.com/vpc/docs/private-service-connect. (2) Cloud Load Balancing | Google Cloud. https://cloud.google.com/load-balancing. (3) Private Service Connect | VPC | Google Cloud. https://cloud.google.com/vpc/docs/private-service-connect. (4) Explicit Chaining of GCP L7 Load Balancers with PSC. https://codelabs.developers.google.com/codelabs/l7lb-chain-psc. (5) External Application Load Balancer overview - Google Cloud. https://cloud.google.com/load-balancing/docs/https/. (6) undefined. http://169.254.169.254/computeMetadata/v1/instance/name%29. (7) undefined. http://169.254.169.254/computeMetadata/v1/instance/zone.

aibangjuxin commented 10 months ago

你好,这是Bing。我可以帮你了解如何使用Google的PSC方案来实现不同VPC网络下的GKE集群之间的通信。PSC方案是一种允许你在VPC网络内部私密地访问托管服务的网络功能¹。如果你想使用PSC方案来访问不同VPC网络下的load balance服务,你需要遵循以下步骤:

这样,你就可以在VPC1中使用service2的IP地址来访问cluster2下的load balance服务,而在VPC2中使用service1的IP地址来访问cluster1下的GKE deployment rt¹。你可以参考这篇文档来了解更多关于PSC方案的细节和示例。下面是一些使用gcloud命令行工具的示例命令,帮助你实现上面的步骤。请注意,这些命令可能需要你根据你的具体情况进行一些修改,例如替换项目ID,网络名称,IP地址等参数。你可以参考这篇文档来了解更多关于gcloud命令行工具的用法和选项。

# 在VPC1中创建一个PSC端点,命名为endpoint1
gcloud compute private-service-connect endpoints create endpoint1 \
    --project=project1 \
    --network=vpc1 \
    --region=us-central1

# 在VPC2中创建一个PSC端点,命名为endpoint2
gcloud compute private-service-connect endpoints create endpoint2 \
    --project=project2 \
    --network=vpc2 \
    --region=us-central1

# 在VPC1中创建一个PSC后端,连接到endpoint1,并指定cluster1下的GKE deployment rt的内部IP地址和端口
gcloud compute private-service-connect backends create backend1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --ip-address=10.0.0.1 \
    --port=8080

# 在VPC2中创建一个PSC接口,连接到endpoint2,并指定cluster2下的load balance服务的内部IP地址和端口
gcloud compute private-service-connect interfaces create interface1 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --ip-address=10.0.1.1 \
    --port=8080

# 在VPC1中创建一个PSC服务,连接到endpoint1,并指定一个服务名称,例如service1
gcloud compute private-service-connect services create service1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --service-name=service1.example.com

# 在VPC2中创建一个PSC服务,连接到endpoint2,并指定一个服务名称,例如service2
gcloud compute private-service-connect services create service2 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --service-name=service2.example.com

# 在VPC1中创建一个PSC订阅,连接到endpoint1,并指定要订阅的服务名称,例如service2
gcloud compute private-service-connect subscriptions create subscription1 \
    --project=project1 \
    --endpoint=endpoint1 \
    --region=us-central1 \
    --service-name=service2.example.com

# 在VPC2中创建一个PSC订阅,连接到endpoint2,并指定要订阅的服务名称,例如service1
gcloud compute private-service-connect subscriptions create subscription2 \
    --project=project2 \
    --endpoint=endpoint2 \
    --region=us-central1 \
    --service-name=service1.example.com

希望这能帮助你使用PSC方案来实现不同VPC网络下的GKE集群之间的通信。如果你有任何其他问题,欢迎随时向我提问。😊

Source: Conversation with Bing, 1/15/2024 (1) Private Service Connect | VPC | Google Cloud. https://cloud.google.com/vpc/docs/private-service-connect. (2) Cloud Load Balancing | Google Cloud. https://cloud.google.com/load-balancing. (3) Private Service Connect | VPC | Google Cloud. https://cloud.google.com/vpc/docs/private-service-connect. (4) Publish services by using Private Service Connect - Google Cloud. https://cloud.google.com/vpc/docs/configure-private-service-connect-producer. (5) Explicit Chaining of GCP L7 Load Balancers with PSC. https://codelabs.developers.google.com/codelabs/l7lb-chain-psc.