这个pod的ip是192.168.49.2,宿主机是192.168.31.128,49.2这个是那个tengine-ingress的ip,宿主机访问是可以,宿主机外服务访问不到,这个端口没有映射到宿主机端口,不知道这块怎么处理
客户端请求ingress对应的域名(host) 这个域名(host) DNS解析的IP 需要与客户端4层网络互通。
如果是客户端是公网环境, 域名(host) DNS解析的IP需要是公网IP地址。
192.168 都是私网地址 此回答整理自钉钉群“Tengine和Tengine-Ingress开源交流群”
如果您想从宿主机外部访问Kubernetes集群中运行在Pod中的服务,通常需要通过Ingress(例如Tengine-Ingress)来配置一个公共IP或域名,并设置相应的Ingress规则将Pod的端口映射到集群的节点端口,然后通过NodePort或LoadBalancer服务类型对外暴露服务。
为了解决您描述的问题,可以采取以下步骤:
确认Ingress配置是否正确设置,以便将请求路由到正确的Pod。
配置Kubernetes Service为NodePort或LoadBalancer类型,这会自动分配一个宿主机端口暴露Pod服务。
检查集群网络策略,确保没有防火墙或网络策略阻止了外部访问。
确认所有节点的安全组规则允许相应的入站流量。
可参考文档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。