【问题标题】:Kubernetes on Google Cloud - Access pod port without port-forwardingGoogle Cloud 上的 Kubernetes - 无需端口转发即可访问 pod 端口
【发布时间】:2020-07-14 11:22:15
【问题描述】:

我有一个 Google Cloud 项目:

  1. 内部网络。
  2. 我还使用这个内部网络部署了 Kubernetes。
  3. 我部署了一个带有服务的部署(没有外部 IP)。

服务:

NAME           TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
redis-master   ClusterIP   10.0.0.213   <none>        6379/TCP   27s

现在,我还在同一个内部网络中部署了另一个 VM 实例。我希望这个 VM 能够访问 IP:10.0.0.213 端口 6379。但它不起作用。

我在这里读到,我需要对它进行端口转发以使其成为可能。但我不想在此 VM 中公开我的 kubernetes 集群凭据。

LoadBalacer 会给我外部 IP,它可以在内部网络中工作,但也可以在互联网上工作。

那么,如何仅将其暴露给 Google 内部网络?

【问题讨论】:

  • 您自己设置了 Kubernetes 集群还是 GKE 的托管集群?
  • 托管集群 GKE
  • 如果我总结一下您的需求:您在 GKE 上部署了一项服务,并且您希望从 GKE 外部(这里是虚拟机)访问它,但仍使用私有 IP 且不暴露公共 IP。我说的对吗?
  • 是的。没错。

标签: kubernetes google-cloud-platform google-cloud-networking gke-networking


【解决方案1】:

我猜您需要的是内部负载均衡器。您可以简单地使用cloud.google.com/load-balancer-type: "Internal" 注释服务。请参阅internal-load-balancing

【讨论】:

  • 有趣!这是否可以将没有 LoadBalancer 的单个 pod 仅公开给内部网络?
  • Kubernetes 网络通常不允许。您可以在调试目的或内部负载均衡器中使用NodePort 服务。
猜你喜欢
  • 2016-03-26
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-22
  • 2022-01-15
  • 2019-03-28
相关资源
最近更新 更多