为什么需要ingress资源对象

1. service缺点: service的表现形式为ip:port, 既工作在tcp/ip层, 而对于基于HTTP服务来说, 不同的url地址经常对应到不同的后端服务,通过service是无法实现的, 
2. 解决方案: kubernetes 1.1版本增加ingress资源对象, 用于将不同的url访问请求转发到后端不同的service, 以实现http层的业务路由机制

为了使用ingress, 需要创建ingress策略和ingress controller

ingress controller 作用特点

1.ingress controller 以pod方式运行
2.监控api server的service关联的pod变量
3.获取ingress策略规则 生成nginx配置文件
4.会跳过kube-prox的转发功能

ingress策略

1)同一个域名 , 不同的url路径转发至不同的服务上

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: ingress-demo
 namespace: default
spec:
  rules:
  - host: test1.nginx.com
    http:
      paths:
      - path: /web
        backend:
          serviceName: web-service
          servicePort: 80
      - path: api
        backend:
          serviceName: api-service
          servicePort: 80

2)不同的域名,被转发到不同的服务上

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: ingress-demo
 namespace: default
spec:
  rules:
  - host: test1.nginx.com
    http:
      paths:
      - path: /web
        backend:
          serviceName: web-service
          servicePort: 80
  - host: test2.nginx.com
    http:
      paths:
      - path: /api
        backend:
          serviceName: api-service
          servicePort: 80

相关文章:

  • 2021-12-20
  • 2021-08-23
  • 2021-08-10
  • 2021-10-15
  • 2021-09-08
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2021-09-17
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
相关资源
相似解决方案