首页 > 解决方案 > 如何在 Kubernetes 中访问主机 http 服务器

问题描述

如果 http 服务器在主机系统上运行,并且 http 客户端想要在 pod 内运行。是否可以使用主机IP地址连接主机系统服务器。NodePort服务适用于连接主机http服务器?

标签: kuberneteskubectlkubernetes-ingresskubeadm

解决方案


确保主机正在侦听所有接口,而不仅仅是localhost. 尝试从另一台机器连接到服务以首先进行测试,而不是 pod。从网络的角度来看,它们是两台独立的机器。有关示例,请参见以下内容:

来自 OSX 的测试:

$ HOST_IP=$(ifconfig | grep en0 -A 5 | grep 'inet ' | cut -d' ' -f2)
$ brew install nginx
$ nginx
$ curl -I $HOST_IP:8080 2>/dev/null | head -n 1
HTTP/1.1 200 OK

$ docker run -ti --rm centos curl -I $HOST_IP:8080 2>/dev/null | head -n 1
HTTP/1.1 200 OK

推荐阅读