问题标签 [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 回答
307 浏览

kubernetes - 使用多个入口控制器 - 是否可以有一个“默认”控制器?

在我的集群上,我traefik用作入口控制器,但现在还想提供一个nginx控制器。

我不希望我的开发人员考虑他们的应用程序究竟是如何公开的。因此,我想让 traefik 成为“默认”控制器,并且仅在开发人员通过设置正确的ingress.class.

不幸的是,看起来没有设置类会导致两个控制器都在争夺那个入口。:( 有没有办法告诉控制器处理入口对象,如果有正确的ingress.class

如果这是不可能的,我正在考虑编写一个 MutatingAdmissionWebhook 它将插入 traefik 类,以防没有设置类。- 这有意义吗,还是有更好的方法?

0 投票
1 回答
697 浏览

kubernetes - 具有持久卷的 Traefik HA

目前有什么方法可以利用 kubernetes 持久卷而不是 KV 存储来存储 Let's encrypt 证书?

从文档中可以看出,在 json 文件中存储 let's encrypt 信息不能用于跨 traefik pod 共享信息。但我想知道其他解决方案,也许是共享卷上的 boltdb?

0 投票
1 回答
14299 浏览

docker - Traefik v2 [如何路由到特定端口]

我正在尝试开始更改后端以与 traefik v2.0 兼容。

我为完成一项简单的任务而头疼。旧的配置是:

我认为,网络不再需要,它会改变新的 traefik:

但是我如何设置,这应该转发到我的后端端口 8500?而不是在 Traefik 到达入口点的 80?

编辑

我的目标是尝试完成这样的事情: https ://docs.traefik.io/user-guide/cluster-docker-consul/#migrate-configuration-to-consul

还有可能吗?我看到了,在 v2.0 中没有 --consul 或 storeconfig 命令

感谢您的问候,

0 投票
0 回答
1870 浏览

kubernetes - Traefik Ingress Kubernetes - 条件 CORS 访问控制允许来源

我有两个访问同一个 API 网关的前端应用程序: example.comadmin.example.com

我使用 Traefik 作为我的入口控制器。我目前在我的 k8s 入口配置中有以下注释:

ingress.kubernetes.io/custom-response-headers: Access-Control-Allow-Origin:https://example.com || Access-Control-Allow-Methods:POST, GET, HEAD, OPTIONS, PUT, DELETE

我也想https://admin.example.com在同一块内处理。有没有一种方法可以根据流量来源的原始 URL 在此处设置条件表达式?Access-Control-Allow-Origin: *我的用例不可接受(浏览器抱怨)。

0 投票
1 回答
630 浏览

kubernetes - 如何在同一 traefik 入口中匹配确切路径和路径前缀

我有一项服务需要接收任何请求

  • /(完全符合)
  • /aaa(路径前缀)

其他路径将被发送到不同的服务。

使用traefik.frontend.rule.type: PathPrefix仅适用于第二条规则和traefik.frontend.rule.type: Path第一个规则。

实现这一目标的推荐方法是什么?两个不同的入口?

0 投票
1 回答
1128 浏览

kubernetes - HTTPS 请求重定向到 HTTP

我在 traefik 入口后面运行 Gunicorn。HTTP 被 traefik 重定向到 HTTPS,但由于某种原因,gunicorn 回复了一个指向 HTTP 的 301。我已经尝试了几乎所有我知道的选项,但没有找到任何解决方案。我认为它可能与https://stackoverflow.com/a/41488430/3719845之类的东西有关。

以下是我在入口处使用的注释:

我不确定x-forwarded标题是由 traefik 自动设置的,所以我对它们进行了硬编码。

在 gunicorn 方面,我使用:

同样的事情我一直在玩这些选项,但似乎没有任何改变。

0 投票
0 回答
875 浏览

tls1.2 - Traefik 没有找到 TLS 秘密

site.dev我有一个带有 CN=site.dev 和 ext3 DNS 域的自签名证书,包括site.dev,作为defaultns 中 k8s 中的秘密,带有type: kubernetes.io/tls和 密钥:tls.crttls.key. 由于它是自签名的,它不包含中间证书(它不能)。

Traefik 使用 args 运行:

当入口开始时,Traefik 会记录:

{"level":"error","msg":"Error configuring TLS for ingress default/site-dev: secret default/site-dev-tls does not exist","time":"2019-04-20T21:09:02Z"}

入口有

这是 curl 的输出:

我不确定我做错了什么......任何帮助表示赞赏。

0 投票
0 回答
144 浏览

kubernetes - Traefik Ingress 不适用于我的 /etc/hosts 中的 dns

我使用 DaemonSet 通过 traefik 文档创建控制器入口

https://docs.traefik.io/user-guide/kubernetes/

所以我改变了我的 /etc/hosts 为在此处输入图像描述

当我尝试在浏览器中访问http://traefik-ui.minikube/

在此处输入图像描述

0 投票
1 回答
2618 浏览

kubernetes - Traefik 2.0: How to assign global static IP with IngressRoute (CRD)?

Following the tutorial for Kubernetes (in my case on GKE) https://docs.traefik.io/v2.0/user-guides/crd-acme/ I am stuck on how to assign the global static IP (GKE wants a forwarding rule). Am I missing something (e.g. adding another ingress)? I understand that annotations are not possible in the IngressRoute. So how would I assign the global reserved IP?

The answer to question 3 on this Q&A online meetup (https://gist.github.com/dduportal/13874113cf5fa1d0901655e3367c31e5) mentions that "classic ingress" is also possible with version 2.x. Does this mean I can set up traefik as in 1.x (like this: https://docs.traefik.io/user-guide/kubernetes/) use 2.x configuration and no need for CRD?

0 投票
1 回答
1298 浏览

kubernetes - Traefik Ingress 未打开端口

我正在为我们销售的应用程序设置开发环境。

由于我们使用此环境进行主动开发,因此有必要或多或少地像客户给定的环境一样构建它。客户使用 Kubernetes 和 traefik。所以我们也在开发中这样做。

幸运的是,我们获得了用于客户环境的原始 YAML 文件,因此我们只需稍加修改即可使用它们。

在我们设置好 Ingress 和 Traefik Ingress Controller 之后,我假设 kubernetes 将打开系统上的给定端口,因此可以从外部访问应用程序。但事实并非如此,端口 443 和 80 上没有任何监听。

我仔细检查了配置(因为我们可以访问客户集群,所以我可以比较他们的环境和我们的环境)——但一切看起来都完全一样,尽管有 IP 地址和命名空间的名称。

在 traefik 控制器 pod 的日志中,我在这里看不到任何问题。只有我看到一些 TLS 证书错误。有时在我的测试中,我在打开端口 80 时看到“绑定”权限被拒绝,但目前没有。

我(和客户)将 traefik toml 文件定义为配置映射,并将其作为卷添加到 /opt/conf/traefik.toml 到 pod。该路径作为参数提供给 pod,根据日志,它使用该文件。

运行 kubernetes 的服务器是 Windows Server 2016 主机上的 Ubuntu Server 18.04 Hyper-V 机器。Kubernetes 是使用 apt-get(不是 snap)部署的,集群是使用 kubeadm 设置的。

这是集群配置:

这是节点配置:

部署有 4 个 Pod,它们都在正常运行(另外,我可以直接从 Pod 本地卷曲网站)。

我在这里放置了一些重要的 yaml 文件:https ://gitlab.com/group15/my-awesome-project

告诉我您是否需要更多(服务帐户、角色(绑定)等...)

主要目标是一个正在运行的开发环境,它可以通过 192.168.6.0 网络中的 HTTP(s) 访问。我还没有让它运行。请帮助我,我做错了什么吗?