1

我正在运行通过 rancher v2.2.8 管理的最新版本的 traefik (v2.0)。

Traefik 运行良好。它正在接受连接,我可以通过端口 8080 访问仪表板。

因此,我使用图像创建了一个新的工作负载,containous/whoami以通过 traefik 公开。

但是,如果我尝试通过 ranchertraefik.http.routers.whoami.rule使用值设置标签键,则Host(`whoami.example.com`)由于以下原因,rancher 会拒绝该值:

Validation failed in API: Deployment.apps "whoami" is invalid: spec.template.labels: Invalid value: "Host(`whoami.example.com`)": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')

我确实理解错误消息,但是如何在不使用(和之类的字符的情况下使路由正常工作`

traefik 要求标签设置为 和 之类的字符(`但 Rancher 不允许使用此类字符。

我使用https://docs.traefik.io/v2.0/getting-started/quick-start/#traefik-detects-new-services-and-creates-the-route-for-you作为设置标签。

编辑: https ://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set还指出,标签键和值不允许使用这些字符。

不是一个那么重要的问题,但是 traefik v2.0 是如何与 kubernetes 一起工作的呢?它不使用标签吗?

4

1 回答 1

0

原来我查看了错误的文档。带有 kubernetes 的 traefik v2.x 不使用标签将流量分配给特定的工作负载。您在这里的关键字将是“IngressRoute”来控制流量。这应该有助于开始:docs.traefik.io/v2.2/providers/kubernetes-crd

于 2020-05-04T22:18:39.583 回答