我正在运行最新版本的traefik(v2.0),由rancher v2.2.8管理。
Traefik运行得很好,它可以接受连接,我可以通过8080端口进入仪表盘。
所以我创建了一个新的工作负载 containous/whoami
图片通过 traefik 曝光。
但是,如果我尝试将标签键设置为 traefik.http.routers.whoami.rule
附带 Host(`whoami.example.com`)
via rancher,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.iov2.0getting-startedquick-start#traefik-detects-new-services-and-creates-theroute-for-you。 作为设定标签的准则
编辑:/kubernetes.iodocsconceptsoverviewworking-with-objectslabels#syntax and-character-set。 https:/kubernetes.iodocsconceptsoverviewworking-with-objectslabels#syntax-and-character-set。 还规定,这些字符不允许用于标签键和值。
没有那么重要的问题,但是traefik v2.0怎么能和kubernetes一起工作呢?它不使用标签吗?
Traefik v2.x with kubernetes does not use labels to assign traffic to a specific workload. 你在这里的关键词是 "IngressRoute "来控制流量。这应该有助于开始工作。docs.traefik.iov2.2providerskubernetes-crd)。