我想执行基于路径的动态路由到支持WebSockets的库伯内特斯服务。
例如,此路径:
http://10.0.0.1/myport/myservice/foo
应使用路径foo将流量路由到命名端口myport(默认命名空间)处的服务myservice。
我使用以下ConfiMap路由器条目(使用io.l5d.k8s命名器)通过Linkerd接近实现这一目标:
routers:
- protocol: http
dtab: |
/svc => /#/io.l5d.k8s/default;
identifier:
kind: io.l5d.path
segments: 2
consume: true
它的工作原理除了我需要WebSocket支持,这在Linkerd中不可用。
我尝试了使用正则表达式作为位置和重写规则的NGINX。这看起来像这样:
location ~ ^/(.*?)/.*$ {
rewrite ^/(.*?)/(.*)$ /$2 break;
proxy_pass http://$upstream:$1;
除了NGINX不路由到NGINX启动后创建的服务之外,这是可行的。我不确定这是与nginx中的DNS缓存问题有关,还是与支持SRV DNS记录有关。这种情况应该在NGINX Plus工作,但我必须依靠开源软件。
有什么想法可以让反向代理/服务网格支持动态路由到K8s服务:port和WebSockets?
编辑这可以用Istio完成吗?似乎必须在Istio路由配置中指定一个硬编码的目的地。我可以在源(请求)上指定正则表达式,但不能使用正则表达式捕获组来指定目的地。
不支持基于正则表达式捕获组动态创建目的地。您需要为每个目的地定义路由规则。
我只是在本地mac上使用mini kube设置kubernetes。 创建了一个类型为NodePort的服务,并且能够使用url
是否可以在库伯内特斯中配置入口控制器,仅当传入请求的标头具有特定值时才将HTTP请求路由到服务? 实例 带有以下标头的HTTP请求 应该转发给服务1 带有以下标头的HTTP请求 应该被阻止 如果可能的话,你能详细一点或指向一些文档,因为我找不到这种用例的文档吗
我是Kubernetes平台的新手,尝试启用部署在Kubernetes平台上的tomcat web app的HTTPS安全连接。我对舱单感到困惑。与部署、服务和入口控制器相关的yml。 那么,我是否也必须在部署(在端口:-containerPort:8080)服务(如端口:-端口:80 targetPort:8080协议:TCP名称:http)和入口(在后端:serviceName:tomcat
我试图设置Kubernetes入口,将外部http流量路由到前端pod(路径/)和后端pod(路径/rest/*),但我总是得到400错误,而不是主nginx索引。html。 所以我在第https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer页尝试了谷歌库伯内特斯的例子,但我总是得到400个错误。有什么想法吗?
我试图设置一个带有前端pod(cup fe)和后端pod的GKE环境,用于在登录时对用户进行身份验证(cup auth),但我无法让我的入口正常工作。 以下是运行nginx的前端吊舱(cup fe),带有角度应用程序。我还创建了一个静态IP地址,由“cup.xxx.it”和“cup-auth.xxx.it”dns解析: 然后是认证盒(cup auth): 然后,我创建了两个节点报告来公开上述POD
我是kubernetes和Traefik的新手。 我跟进教程:https://docs.traefik.io/user-guides/crd-acme/ 我将其更改为在Scala中使用我的服务,即使用https和9463端口。我正在尝试使用kubernetes和traefik部署Scala服务。 当我直接转发到服务时: 我执行一个curl-k'https://localhost:8001/heal