在kubernetes pod内的主机网络上访问IP地址

时间:2019-08-20 18:15:52

标签: kubernetes kubernetes-networking

如何在主机网络的IP地址上访问服务?

基本上,我在同一网络上有5或6个VMS,这些VMS中的3个用于创建Kubernetes集群。这些VM之一在Kubernetes(192.168.2.x)外部托管一个私有npm注册表。我正在使用在Kubernetes集群中运行的gitlab运行程序。在ci管道的构建阶段执行npm安装时,由于gitlab构建运行程序运行的Pod无法访问通过192.168.2.x而不是在Kubernetes内部位于主机网络上的私有npm注册表,我超时了集群。

有没有办法能够访问同一主机网络内的服务,但不能访问Kubernetes集群内的服务?

以下是流道内部错误消息的示例:

  

$ npm安装   npm警告可选的跳过选择性依赖性:fsevents@1.2.9(node_modules / @ angular / compiler-cli / node_modules / fsevents):   npm WARN网络跳过可选依赖项:对https://devops.internal.ideam.co.za/repository/npm-group/fsevents的请求失败,原因:连接ETIMEDOUT 192.168.2.6:443

     

npm错误!代码ETIMEDOUT   npm ERR! errno超时   npm ERR! > https://devops.internal.ideam.co.za/repository/npm-group/source-map的网络请求失败,原因:连接ETIMEDOUT 192.168.2.6:443   npm ERR!网络这是与网络连接有关的问题。

如您所见,一旦通过受信任证书保护的FQDN解析为内部IP地址,就无法从Pod内部访问npm注册表的主机IP地址。我确保在调试容器的Kubernetes集群中使用busybox和nslookup命令可以解析外部FQDN。

我提供了一个说明图来说明:

enter image description here

这是网络配置问题吗?有人知道这是否可行或如何使它工作?

0 个答案:

没有答案