【问题标题】:How to connect to a private IP from Kubernetes Pod如何从 Kubernetes Pod 连接到私有 IP
【发布时间】:2019-04-01 15:47:43
【问题描述】:

我正在尝试从 pod 中连接到私有 IP。从 pod ping 到该 IP 返回无法访问。但是,我可以从主机系统 ping 该 IP。将流量从 pod 路由到目标私有 IP 的最佳方式是什么?

【问题讨论】:

  • 这是您尝试访问的另一个 pod/服务吗?
  • 您是否在 Kubernetes 主机级别开启了 IP 转发?这是一个内核选项,通常默认禁用。
  • @cookiedough 这是另一个服务。
  • 我将建议与以下答案相同的解决方案,请查看链接中的 internal dns,您可以通过以下方式引用其他 pod 和服务:foo.bar.my-namespace.svc.cluster.local

标签: networking kubernetes


【解决方案1】:

不允许 Pod 直接连接到 Kubernetes 网络之外。您可以找到更多详细信息here。要连接外部 IP,您必须定义 Endpoints,Kubernetes 会将请求从内部 pod 重定向到该 IP。如果您的私有 IP 需要任何额外的任务,例如 DNS 配置或其他任何任务,都将超出 kubernetes。对于 Kubernetes,您需要定义 Endpoints。创造你Endpoints

kind: Endpoints
apiVersion: v1
metadata:
  name: local-ip
subsets:
 - addresses:
     - ip: 10.240.0.4  # IP of your desire end point
   ports:
     - port: 27017     # Port that you want to access

现在您可以使用 Endpoints 名称从 pod 内部进行连接。但最好通过Service 访问Endpoints。您可以找到更多详细信息here。 你可以找到类似的答案和流程图here

【讨论】:

  • 我会试试这个并告诉你
  • 你好,我是 Kubernetes 的新手,现在有点坚持,所以我创建了这个端点,如何使用 typescript 在我的代码中引用它。 mongodb://${config.mongourl}:${config.mongoport}/${config.collection}?authSource=admin`;
猜你喜欢
  • 2019-06-02
  • 2016-04-28
  • 2020-03-16
  • 2022-01-11
  • 2020-11-01
  • 1970-01-01
  • 2015-06-06
  • 2010-09-07
  • 1970-01-01
相关资源
最近更新 更多