快雪时晴-初晴融雪头像
关注
服务器运维:Traefik 通俗讲解 / Traefik 是云原生、动态的反向代理 / 负载均衡 / K8s Ingress控制器(Go语言开发)封面图

服务器运维:Traefik 通俗讲解 / Traefik 是云原生、动态的反向代理 / 负载均衡 / K8s Ingress控制器(Go语言开发)

Traefik 是云原生、动态的反向代理 / 负载均衡 / K8s Ingress控制器(Go语言开发)

对比Nginx:Nginx要手动写conf配置文件,改完要reload;
Traefik自动发现服务,配置热更新,不用重启

核心能干什么(结合K8s + Jenkins场景)

七层流量入口(Ingress Controller) 外网请求先到Traefik,根据域名、路径转发到集群内部Service:Jenkins、GitLab、yudao前端、镜像仓库等,替代ingress‑nginx

举例: shturl.cc/BxpzN → 转发到 jenkins service shturl.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环境对比)

特性Traefikingress‑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证书

常见误区

  1. ❌ Traefik不能给裸内网IP申请Let’s Encrypt证书,必须域名
  2. ❌ Traefik不是直接替代GitLab/Jenkins,它只是流量网关,负责外网流量进集群。
  3. ✅ 它可以和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

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--