我自己的集群一直都用的 traefik ingress controller,感觉挺好用的, 还能自动签发管理 https 证书
然后我一般都用 rancher 图形化的管理我的服务,很少手动去写 yaml 了,所以 ingress 我也是直接图形化创建的,这时候想用中间件,就需要用 ingress 注解的方式了。

注解规则

比如我有一条 ip-whitelist 的中间件,在 default 命名空间,那就这么写 ingress 注解:

traefik.ingress.kubernetes.io/router.middlewares: "default-ip-whitelist@kubernetescrd"

没错,就是 <命名空间>-<中间件名字>@kubernetescrd