基本上,我在同一网络上有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。
这是网络配置问题吗?有人知道这是否可行或如何使它工作?