gpt4 book ai didi

google-compute-engine - 如何从内部非K8s网络访问K8s中的服务?

转载 作者:行者123 更新时间:2023-12-03 22:31:31 28 4
gpt4 key购买 nike

问题:如何提供从 GCE 网络中运行的(非 K8s)服务到 Kubernetes 中运行的其他服务的可靠访问?

背景:我们正在 Google Cloud Platform 中运行托管的 K8s 设置。大多数服务都是12factor 应用,并且在 K8s 中运行正常。一些后备存储(数据库)在K8s 之外 运行。通过使用具有手动定义的端点到固定内部 IP 的无外设服务,可以轻松访问它们。这些服务通常不需要与 K8s 中的服务“回话”。

但是在内部 GCE 网络中运行的一些服务(但在 K8s 之外)需要访问在 K8s 中运行的服务。我们可以使用 spec.type: NodePort 公开 K8s 服务,并与任何 K8s 节点 IP 上的这个端口对话。但是我们如何才能自动找到正确的 NodePort 和有效的工作节点 IP?或者也许有更好的方法来解决这个问题。

此设置可能不是 K8s 部署的典型用例,但我们希望采用这种方式,直到 K8s 中的 PetSets 和持久存储足够成熟。

由于我们讨论的是内部服务,因此我想避免在这种情况下使用外部负载均衡器。

最佳答案

您可以通过创建“堡垒路由”或在您连接的机器上运行 kube-proxy 来使集群服务 IP 在集群外部(但在专用网络内部)有意义(参见 this answer )。

我认为您还可以将 resolv.conf 指向集群的 DNS 服务,以便能够解析服务 DNS 名称。不过,如果您有多个集群,这可能会变得棘手。

关于google-compute-engine - 如何从内部非K8s网络访问K8s中的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243877/

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