ddsdjn 发表于 2017-12-23 22:47:25

确实,k8s的时代,ingress负载用traefik比nginx方便啊

  参考文档:
  https://mritd.me/2016/12/06/try-traefik-on-kubernetes/#13ingress
  由于微服务架构以及 Docker 技术和 kubernetes 编排工具最近几年才开始逐渐流行,所以一开始的反向代理服务器比如 nginx、apache 并未提供其支持,毕竟他们也不是先知;所以才会出现 Ingress Controller 这种东西来做 kubernetes 和前端负载均衡器如 nginx 之间做衔接;即 Ingress Controller 的存在就是为了能跟 kubernetes 交互,又能写 nginx 配置,还能>;而最近开始出现的 traefik 天生就是提供了对 kubernetes 的支持,也就是说 traefik 本身就能跟 kubernetes API 交互,感知后端变化,因此可以得知: 在使用 traefik 时,Ingress Controller 已经无卵用了!
  
  

apiVersion: extensions/v1beta1  
kind: DaemonSet
  
metadata:
  
name: traefik-ingress-lb
  
namespace: kube-system
  
labels:
  
k8s-app: traefik-ingress-lb
  
spec:
  
template:
  
metadata:
  
labels:
  
k8s-app: traefik-ingress-lb
  
name: traefik-ingress-lb
  
spec:
  
terminationGracePeriodSeconds: 60
  
hostNetwork: true
  
restartPolicy: Always
  
containers:
  
- image: traefik:latest
  
imagePullPolicy: IfNotPresent
  
name: traefik-ingress-lb
  
resources:
  
limits:
  
cpu: 200m
  
memory: 30Mi
  
requests:
  
cpu: 100m
  
memory: 20Mi
  
ports:
  
- name: http
  
containerPort: 80
  
hostPort: 80
  
- name: admin
  
containerPort: 8580
  
args:
  
- --web
  
- --web.address=:8580
  
- --kubernetes
  

  

apiVersion: extensions/v1beta1  
kind: Ingress
  
metadata:
  
name: traefik-ingress
  
namespace: kube-system
  
spec:
  
rules:
  
- host: cnxxx.cn
  
http:
  
paths:
  
- path: /
  
backend:
  
serviceName: tomcat-dm
  
servicePort: 8087
  
- host: cx.cn
  
http:
  
paths:
  
- path: /
  
backend:
  
serviceName: nginx-dm
  
servicePort: 8088
  

页: [1]
查看完整版本: 确实,k8s的时代,ingress负载用traefik比nginx方便啊