问题标签 [traefik-ingress]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1924 浏览

traefik - Traefik v2 Middlewares not being detected

Middlewares are not being detected and therefore paths are not being stripped resulting in 404s in the backend api.

Middleware exists in k8s apps namespace

configuration for middleware and ingress route

Static configuration

Traefik dasboard has no middlewares

traefik v2 dashboard

Spring Boot 404 page. Route is on example.com/actuator/health

The /users is not being stripped. This worked for me in traefik v1 perfectly fine.

Note: actual domain has been replaced with example.com and domain.com in the examples.

spring boot 404 page

0 投票
1 回答
2086 浏览

kubernetes - 无法使用 Traefik 的 IngressRoute CRD 访问 DigitalOcean K8s 上的 Traefik Dashboard 或 K8s 服务

我正在使用 DigitalOcean 的托管服务上的 K8s,并且只是尝试设置非常基础的内容以使其正常工作。

设置

  • DO 的 K8s 服务上的单节点,没有负载均衡器(除非另有推荐,否则希望使用 Traefik 来解决所有这些问题。)
  • 我已附加到集群中 K8s 节点的一个浮动 IP
  • 诊断这些问题时没有防火墙
  • DO K8s v1.15
  • Traefik v2.0

问题

据我所知,我可以确认事情正在设置中,因为我在以下配置声明中拥有它们,但是在访问 Traefik 用于测试功能甚至访问 Traefik 的示例“whoami”pod 的服务时遇到问题仪表板。

使用时kubectl proxy,我http://localhost:8001/api/v1/namespaces/default/services/http:traefik:8080/proxy/dashboard/#/会尝试访问 Traefik 仪表板,它会“响应”,但只给出一个空白页面。

在 Traefik pod 的日志中,只有以下内容:

稍后我将研究 Let's Encrypt 问题,因为现在我专注于在基本层面上实现此功能。

在尝试访问 WhoAmI 服务时http://<myDomain>/notls,我得到ERR_CONNECTION_REFUSED(Brave/Chrome)

配置

traefik.yaml

whoami.yaml

任何帮助将不胜感激,在此先感谢您!!

0 投票
1 回答
106 浏览

kubernetes - 使 Traefik 将 HTTP BAN 请求路由到与常规 HTTP 请求不同的服务或端口

我们在 GKE Kubernetes 集群上使用 Traefik 1.7 作为 Ingress-controller。每个应用程序都有一个 Ingress,它将传入的 HTTP 请求路由到 Varnish 服务,该服务要么提供来自缓存的响应,要么将请求路由到一些 nginx/PHP 后端应用程序。

Varnish pod 包含一个 Varnish 容器,它在端口 80 上侦听传入请求,以及一个在端口 6083 上的应用程序,负责将 BAN 请求镜像到所有 Varnish 副本,以便从所有 Varnish 副本中清除缓存对象。大多数 BAN 请求将来自内部 PHP 应用程序,但我们也有来自在该集群外部运行的 GitLab CI 任务的 BAN 请求。

我们希望将带有 BAN 动词(与 GET、POST 等相反)的传入 HTTP 请求路由到 Varnish 服务上的端口 6083,同时让 GET、HEAD、POST 流量像往常一样到达端口 80。

我想不出一种方法让 Traefik 根据 HTTP 动词路由到不同的服务或端口。有任何想法吗?

0 投票
1 回答
147 浏览

kubernetes - Traefik v2 IngressRoute CRD 到非 docker 服务

我正在使用 Traefik 将传统的 nginx 前端反向代理迁移到 Kubernetes 集群。最终目标是将一切都转移到微服务上,但这可能需要一段时间。同时,如何创建一个 IngressRoute CRD 路由到集群外部托管的遗留系统?这只是一个http://server:port类型的转发。我已经梳理了文档,但似乎 Traefik v2.0 已经删除了对自定义后端的支持,而且我不太确定在没有 IngressRoute CRD 的情况下应该如何在 Kubernetes 中注入动态配置(这似乎不支持服务器:端口定义)?我可能在这里完全偏离了路线,因此感谢您对此的任何指导。

0 投票
1 回答
621 浏览

ssl - Traefik 2.0 使用 Google Kubernetes Engine 重定向中间件

我正在尝试根据 Traefik 的文档在我的 kubernetes 集群中测试和实现 Traefik 的https重定向功能: https ://docs.traefik.io/middlewares/overview/ 。这是Middlewareand的定义IngressRoute

但是,https ://your.domain.name 有效,而http://your.domain.name给了我一个404 page not found。有谁知道我配置错了什么?

0 投票
0 回答
87 浏览

kubernetes - 如何使用请求标头作为 Traefik 入口控制器的入口点地址的路径变量

我通过 kubernate 中的 Keycloak 使用 traefic 1.7 进行服务身份验证。(我已经有了 Bearer 令牌,只需要通过 Keycloak 验证它)

我的入口控制器如下所示:

问题是我在 Keycoak 中有不同组织的不同领域。在我拥有的请求标头中Org-Id,我需要放置而不是 R-1:

有没有办法从请求中提取标头并将其放置到地址路径中?

0 投票
1 回答
1106 浏览

kubernetes - Traefik 2 http到https重定向,tls不起作用

我想在一个 IngressRoute 中设置 http 到 https 重定向,但是当我尝试访问 http 端点时,下面的配置 traefik 返回 404 not found 错误。如果我删除 tls 部分重定向有效,但 tls 无效。

我可以同时工作吗?

traefik 版本 2.1.0-rc2

0 投票
1 回答
197 浏览

kubernetes - Ingress 和 Service 之间的相互作用

Ingress 可用于将流量从端点(或名称)路由到服务,然后将其转发到具有匹配标签的 pod。但是,入口不会暴露任意端口或协议,这就是为什么服务需要是 typeLoadBalancerNodePort.

到目前为止,一切都很好。我按照指南将 Traefik 安装为入口控制器,一切都已启动并运行,但我不明白为什么它甚至可以工作。这个问题与 Traefik 无关;我多次看到这种模式。

第一个清单包含入口部署和称为traefik-ingress-service类型的服务LoadBalancerNodePort也可以使用)。

为了公开 Traefik 的 UI,还有另一个清单,包括第二个服务(类型:默认)traefik-web-ui和一个将流量从 连接/traefik-web-ui.

我不明白为什么这是有效的,因为服务traefik-web-ui不应该从外部访问。另一个服务traefik-ingress-service是,但它们没有连接。那么,这是如何工作的呢?

此外,我很好奇为什么我不只创建一个traefik-web-ui类型的服务NodePortLoadBalancer

0 投票
1 回答
48 浏览

traefik - 如何获取 kubernetes 服务名称而不是 'traefik' pod 的 IP

很难检查请求是否到达服务,因为我们得到的是 RouterName likenamespace-ingressroute_name-some_random_string@kubernatescrd和 ServiceName like namespace-ingressroute_name-some_random_string而不是 pod 服务名称。

有什么方法可以在日志中打印 pod 服务名称而不是 RouterName 和 ServiceName?

0 投票
1 回答
40 浏览

traefik - 在 Traefik 访问日志中获取请求方案

Traefik 访问日志中是否可以有请求方案(http 或 https)?(不是 BackendURL.Scheme)