Traefik 是云原生、动态的反向代理 / 负载均衡 / K8s Ingress控制器(Go语言开发)
对比Nginx:Nginx要手动写conf配置文件,改完要reload;
Traefik自动发现服务,配置热更新,不用重启。
核心能干什么(结合K8s + Jenkins场景)
七层流量入口(Ingress Controller) 外网请求先到Traefik,根据域名、路径转发到集群内部Service:Jenkins、GitLab、yudao前端、镜像仓库等,替代ingress‑nginx。
举例:
shturl.cc/BxpzN→ 转发到 jenkins serviceshturl.cc/ahIw→ 转发到 gitlab service
内置ACME,直接申请Let’s Encrypt证书 ✅ 不需要额外安装cert‑manager,Traefik原生对接Let’s Encrypt,自动申请、自动续期HTTPS证书,HTTP自动跳转HTTPS。
⚠️依旧限制:只支持域名,内网IP不能申请LE证书,和前面讲的规则一致。
自动服务发现(最大亮点) 监听K8s资源(Service、Pod、IngressRoute CRD),当你部署/删除Pod、扩容缩容,路由规则毫秒级自动更新,不用改配置文件,不用重启Traefik。
内置中间件,开箱即用流量治理
HTTP→HTTPS强制跳转
BasicAuth密码认证(保护Jenkins后台)
IP白名单、限流、路径重写、压缩、熔断、请求头修改等
自带Dashboard可视化面板 可以网页直观看到:哪些路由、哪些后端服务、证书状态,排错非常方便,Nginx‑ingress没有自带面板。
Traefik vs ingress‑nginx(K8s环境对比)
| 特性 | Traefik | ingress‑nginx |
|---|---|---|
| 配置更新 | 热更新,不用重启/重载 | 修改配置需要Reload Nginx进程 |
| Let’s Encrypt | 内置ACME客户端,不用cert‑manager | 依赖cert‑manager组件 |
| 配置方式 | 原生CRD IngressRoute;兼容标准Ingress | 注解annotations +标准Ingress资源 |
| Dashboard | 自带可视化面板 | 无,需要额外搭建监控 |
| 性能 | Go,绝大多数场景够用 | C语言,超高并发下性能略高 |
| 学习成本 | CRD中间件概念多一点 | 熟悉Nginx的人上手快 |
简单选型:
想要少装组件、自动证书、运维简单,选Traefik
超高QPS、大量Nginx历史配置,选ingress‑nginx
和你现有业务的关联(Jenkins/GitLab闭环)
给Jenkins、GitLab分配域名,Traefik做Ingress,对外暴露HTTPS访问。
内置ACME自动申请Let’s Encrypt证书,解决HTTPS;GitLab WebHook可以公网回调Jenkins,打通闭环。
可以用中间件做IP白名单:只允许公司网段访问Jenkins,加固安全。
⚠️重要提醒: Traefik内置ACME依旧不能给内网IP(10.43.x.x)申请证书,必须要有域名。内网IP只能用自签名证书。
Traefik两套配置写法
1、兼容K8s标准Ingress资源:直接写原生
Ingress yaml,Traefik可以解析,迁移成本低。2、专属CRD
IngressRoute:Traefik自定义资源,功能最强,完整使用全部中间件、TLS能力,推荐生产用。
极简IngressRoute示例(Jenkins域名HTTPS)
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: jenkins-route
namespace: jenkins
spec:
entryPoints:
- websecure
routes:
- match: Host(`shturl.cc/GV9DKZx8JSth`)
kind: Rule
services:
- name: jenkins
port: 8080
tls:
certResolver: letsencrypt # 内置ACME自动申请LE证书
常见误区
- ❌ Traefik不能给裸内网IP申请Let’s Encrypt证书,必须域名。
- ❌ Traefik不是直接替代GitLab/Jenkins,它只是流量网关,负责外网流量进集群。
- ✅ 它可以和cert‑manager配合使用,也可以脱离cert‑manager独立用内置ACME。
相关内容:Helm安装Traefik完整values.yaml,直接部署,开启自动Let’s Encrypt证书,把Jenkins、GitLab同时代理出来。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/snowball_li/article/details/165316802




