Ingress

1、将端口号对外暴露,通过IP+端口号进行访问
  • 使用Service里面的NodePort实现
2、NodePort缺陷
  • 在每个节点上都会启动端口,在访问时通过任何node节点,通过节点ip+暴露端口号实现访问
  • 意味着每个端口只能使用一次,一个端口对应一个应用
  • 用户实际访问中都是基于域名,根据不同域名跳转到不同端口的服务中
3、Ingree和Pod关系
  • pod和ingree通过service关联
    • ingress 作为统一入口,由service关联一组pod
4、Ingree工作流程
用户 —> Ingress —> svc —> pod
notion image
5、使用Ingress(此处选择官方维护nginx控制器)
  • 第一步 部署Ingress Controller
  • 第二步 创建Ingress规则
6、使用INgress对外暴露应用
  • 创建nginx应用,对外暴露端口NodePort
  • 部署Ingress controller
  • 查看ingress controller状态
  • 创建Ingress规则
  • 修改hosts文件测试访问
 

小结

关于ingress访问后端服务404问题,内部访问无问题
我们有用于选择pathType的树选项:
  • ImplementationSpecific:匹配将由 IngressClass 处理。根据实现可以以不同的方式处理它
  • Exact:精确匹配 URL 路径,区分大小写。
  • Prefix:基于由 / 分割的 URL 路径前缀进行匹配(最常见)它在逐个元素的路径元素上也区分大小写。
将pathType: Exact修改为pathType: Prefix即可
 
 
 
 
 
 
 
 
 
 
 
 
 
Loading...
目录