详解安装配置 Traefik Ingress Controller 配置实战

作者:袖梨 2026-07-08
安装配置Traefik Ingress Controller的核心是打通RBAC、CRD、网络暴露和Ingress资源联动四环节:先部署CRD与RBAC权限,再通过DaemonSet或Deployment运行控制器,接着配置Ingress或IngressRoute路由规则,最后启用HTTPS与仪表盘等可观测性功能。

安装配置 Traefik Ingress Controller 的核心在于:先让控制器运行起来,再让它能自动发现服务并按规则路由流量。它不是简单部署一个 Pod 就完事,而是要打通 RBAC、CRD、网络暴露和 Ingress 资源联动四个关键环节。

准备基础资源:CRD + RBAC + 静态配置

Traefik 2.x+ 依赖自定义资源(如 IngressRouteTLSStore),必须先部署 CRD;同时它需要权限读取集群内 Service、Endpoints、Ingress 等对象,RBAC 不可省略。

  • 执行 kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/static-configuration/kubernetes-crd.yaml(注意版本匹配)导入 CRD
  • 创建 ServiceAccount(如 traefik-ingress-controller)并绑定 ClusterRole(含 get/list/watchservicesingressesendpoints 等资源的权限)
  • ConfigMap 或 Helm values.yaml 定义静态配置:启用 providers.kubernetesIngressproviders.kubernetesCRD,指定 entryPoints.web.address(如 :80

选择部署方式:DaemonSet 还是 Deployment?

生产环境推荐 DaemonSet,确保每个节点都运行一个 Traefik 实例,避免单点故障;测试或资源受限场景可用 Deployment + LoadBalancer Service。

  • DaemonSet 模式下,需设置 hostPort: 80 并打标签(如 node-role.kubernetes.io/ingress=)限定调度范围
  • Deployment 模式下,建议搭配 MetalLB(裸机)或云厂商 SLB(公有云)暴露 Service.type=LoadBalancer
  • 无论哪种方式,务必检查宿主机 80/443 端口未被占用,否则容器启动失败

定义入口规则:Ingress 或 IngressRoute?

Traefik 同时支持 Kubernetes 原生 Ingress 资源和自研 IngressRoute。前者兼容性好,后者功能更全(如多段路径匹配、中间件链、TCP 路由)。

  • 若用原生 Ingress,需在资源中加注解:kubernetes.io/ingress.class: traefik,且确保 Helm 安装时启用了 kubernetes.ingressClass.enabled=true
  • 若用 IngressRoute,需先创建 TCPRouter/HTTPRouter,并关联 ServiceMiddleware(例如 StripPrefix 处理路径前缀)
  • 示例常见问题:访问 /api 报 404,往往因后端服务未处理该路径前缀——用 middlewares.strip-path 自动剥离再转发

启用 HTTPS 与可观测性

Traefik 内置 ACME 支持自动申请 Let’s Encrypt 证书,也支持手动挂载 Secret;仪表盘和指标则用于日常运维排查。

  • HTTPS:在 IngressIngressRoute 中声明 tls 字段,指向包含 tls.crttls.key 的 Secret;开启 ACME 需配置 certificatesResolvers.letsencrypt.acme.email 和存储位置
  • 仪表盘:通过 traefik.yml 启用 api.insecure=true(仅测试)或配 api.dashboard=true + entryPoints.traefik + IngressRoute 暴露安全访问入口
  • 指标:启用 Prometheus provider,配合 ServiceMonitor 抓取 metrics.prometheus.entryPoint=metrics 端口数据

相关文章

精彩推荐