gpt4 book ai didi

google-cloud-platform - 从 GKE 中的 K8S pod 连接到 Google Cloud Platform 上的 VM 内部 IP

转载 作者:行者123 更新时间:2023-12-02 02:55:43 24 4
gpt4 key购买 nike

我们需要从 GKE 中的 POD 连接到在其内部 IP 地址上运行的 VM 上的服务。

enter image description here

K8s 集群和虚拟机在不同的网络上,所以我们在这些网络之间设置 VPC 对等:

enter image description here

关于如何指向外部 IP,我们应用了一个没有选择器的服务,如下所述:

https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors

POD应该通过这个服务连接到VM的内部IP,服务和端点描述是:

kubectl describe svc vm-proxy

Name:              vm-proxy
Namespace: test-environment
Labels: <none>
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: 10.59.251.146
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
Endpoints: 10.164.0.10:8080
Session Affinity: None
Events: <none>

其中Endpoint,VM的内部IP是,en服务IP由K8s分配。

pod 只是简单地建立了一个到 Service 的 IP 的 http 连接,但是连接被拒绝了。 (最终连接超时)。

用例非常简单,并记录在 k8s 文档中,给出了连接到 VM 上运行的数据库的示例。然而,它在我们的案例中不起作用,我们不确定我们的设置是否错误,或者这根本不可能,使用 VM 的内部 IP。

最佳答案

我重现了您的问题,对我来说效果很好。这就是我所做的:

  1. 创建 2 个网络(其中一个(演示)位于 172.16.0.0/16,另一个是我的默认网络,设置为 10.132.0.0/20)。
  2. 设置 VPC 对等互连。
  3. 在演示网络中创建了一个虚拟机。它被分配到 172.16.0.2
  4. 按照您的描述创建服务(端点指向 172.16.0.2)。
  5. 从pod curl到服务IP,得到200!

如果步骤正确,但您的配置不起作用,我想知道您的网络 IP 范围。他们两个。

关于google-cloud-platform - 从 GKE 中的 K8S pod 连接到 Google Cloud Platform 上的 VM 内部 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com