ingressroute 如何连接到 traefik ingress controller
how ingressroute is hooked up to traefik's ingress contoller
我正在学习 traefik
和 ingressroute
。最让我困惑的一件事是这两个部分是如何连接在一起的。
部署 traefik
和我自己的服务后,我可以简单地创建以下 ingressroute
使其工作:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: my-service-ir
namespace: my-service-ns
spec:
entryPoints:
- web
routes:
- match: Path(`/`)
kind: Rule
services:
- name: my-service
port: 8000
但是 ingressroute
与 traefik
没有任何共享:不在同一个命名空间中,没有选择器等。在我看来 ingressroute
可以神奇地找到 traefik
并在 traefik
上申请。很好奇背后发生了什么
谢谢
当你在 kubernetes 集群中部署 traefik 时,你使用像 here 这样的 rbac-k8s 清单。如果你使用 helm 那么这些都存在于那个引擎盖下。
这些 RBAC 实际上创建了新的资源类型,即 IngressRoute
在这里。
正如您在 link ClusterRole
中看到的那样,它们在集群级别应用。这赋予他们 ClusterLevel 特权。这就是您在命名空间中看不到任何特殊内容的原因。
您可以在此处查看 sample task,这将使您对此事有更多了解。
我正在学习 traefik
和 ingressroute
。最让我困惑的一件事是这两个部分是如何连接在一起的。
部署 traefik
和我自己的服务后,我可以简单地创建以下 ingressroute
使其工作:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: my-service-ir
namespace: my-service-ns
spec:
entryPoints:
- web
routes:
- match: Path(`/`)
kind: Rule
services:
- name: my-service
port: 8000
但是 ingressroute
与 traefik
没有任何共享:不在同一个命名空间中,没有选择器等。在我看来 ingressroute
可以神奇地找到 traefik
并在 traefik
上申请。很好奇背后发生了什么
谢谢
当你在 kubernetes 集群中部署 traefik 时,你使用像 here 这样的 rbac-k8s 清单。如果你使用 helm 那么这些都存在于那个引擎盖下。
这些 RBAC 实际上创建了新的资源类型,即 IngressRoute
在这里。
正如您在 link ClusterRole
中看到的那样,它们在集群级别应用。这赋予他们 ClusterLevel 特权。这就是您在命名空间中看不到任何特殊内容的原因。
您可以在此处查看 sample task,这将使您对此事有更多了解。