- Traefik Ingress Controller
- Traefik Ingress Controller
- 参考
Traefik Ingress Controller
我们在前面部署了 Traefik 作为Ingress Controller,如果集群外部直接访问Kubenretes内部服务的话,可以直接创建Ingress如下所示:
apiVersion: extensions/v1beta1kind: Ingressmetadata:name: traefik-ingressnamespace: defaultspec:rules:- host: traefik.nginx.iohttp:paths:- path: /backend:serviceName: my-nginxservicePort: 80
Traefik Ingress Controller
当我们处于迁移应用到kuberentes上的阶段时,可能有部分服务实例不在kubernetes上,服务的路由使用nginx配置,这时处于nginx和ingress共存的状态。参考下面的配置:
apiVersion: extensions/v1beta1kind: Ingressmetadata:name: td-ingressnamespace: defaultannotations:traefik.frontend.rule.type: PathPrefixStripkubernetes.io/ingress.class: traefikspec:rules:- host: "*.tendcloud.com"http:paths:- path: /docGeneratebackend:serviceName: td-sdmk-docgenerateservicePort: 80
注意annotation的配置:
traefik.frontend.rule.type: PathPrefixStrip:表示将截掉URL中的pathkubernetes.io/ingress.class:表示使用的ingress类型
关于Ingress annotation的更多信息请参考:Ingress Annotations - kubernetes.io。
在nginx中增加配置:
upstream docGenerate {server 172.20.0.119:80;keepalive 200;}
172.20.0.119是我们的边缘节点的VIP,见边缘节点配置。
参考
- Kubernetes Ingress Backend - traefik.io
- Kubernetes Ingress Controller - traefik.io
