确实,k8s的时代,ingress负载用traefik比nginx方便啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了确实,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 配置,还能 reload 它,这是一种折中方案;而最近开始出现的 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
以上是关于确实,k8s的时代,ingress负载用traefik比nginx方便啊的主要内容,如果未能解决你的问题,请参考以下文章
企业运维实战--k8s学习笔记 通过Ingress-nginx实现k8s七层负载均衡Ingress加密认证以及地址重写