问题标签 [ambassador]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2112 浏览

kubernetes - 大使显示上游没有健康

我在 CentOS 中设置了 Kubernetes,有 1 个主节点和一个单独的节点。添加了大使 GW 和后来的地图服务。当我尝试使用 GW 映射访问最终服务时,它会响应no healthy upstream消息。

0 投票
1 回答
1820 浏览

kubernetes - 大使可以处理 CORS 请求吗?

如果这是一个非常无知的问题,我很抱歉,但大使是否有可能真正处理 CORS 标题和飞行前 OPTION 响应?

文档(https://www.getambassador.io/reference/cors)对我来说似乎有点模棱两可,如果只有钩子可以阻止请求,或者它是否可以真正代表服务响应。

这是我的情况:我在一些微服务的所有 http 请求前面都有大使。[原因] 我们现在需要一个单独的域来向同一个大使发出请求。

我配置了 AuthService,并且根据文档“当您使用外部授权时,每个传入请求在路由到其目的地之前都经过身份验证,包括飞行前 OPTIONS 请求。” 这是完全有道理的,这就是我所看到的。我的 AuthService 被配置为允许正确的事情,这似乎是有效的。AuthService 以适当的标头响应,但 Ambassador 似乎只是忽略了这一点,只关心 AuthService 是否以 200 响应。(这似乎完全合理。)

我在大使模块上对此进行了注释:

这似乎并没有达到我的预期,即处理 CORS 标头和飞行前……而是将其转发到服务以处理所有 CORS 内容。

0 投票
1 回答
1364 浏览

kubernetes - 如何配置大使能够映射到容器上的多个端口

我使用大使作为我的 kubernetes 设置的入口控制器。我需要连接到容器上的多个端口,例如,我有一个 RethinkDB 容器,我需要连接到其 web-ui 的端口 8085、RDB-API 的端口 28015 和将节点添加到 Rethinkdb 和集群的端口 29015。

我尝试了不同的配置,但没有奏效。我尝试过的配置: 1- 此配置适用于最新映射,这意味着如果我将 8085 映射替换为 29015 并将其放在最后,我可以访问 web-ui 但不能访问其他部分等等。

2-这个根本没用

我应该如何配置大使,以便我可以访问我的容器的所有端口?

0 投票
2 回答
1538 浏览

kubernetes - curl: (7) 连接 192.168.99.100 端口 30790 失败:连接被拒绝

我正在编写有关创建 Kubernetes 服务以指向大使部署的教程。

教程:https ://www.bogotobogo.com/DevOps/Docker/Docker-Envoy-Ambassador-API-Gateway-for-Kubernetes.php

在运行命令时

我收到错误

我实际上可以消除错误

通过运行

接着

我已经尝试过这个答案curl: (7) Failed to connect to 192.168.99.100 port 31591: Connection denied并且这个答案中提到的步骤已经在博客中,它没有工作。

这是来自博客的代码,用于 Ambassador-svc.yaml

这可能是与VM相关的问题吗?

另外,我尝试先学习教程,但不幸的是,遇到了同样的错误。

让我知道我这边是否还有其他需要。

编辑:

1.正如评论中所问的,这里的输出是

跑完之后

0 投票
1 回答
1402 浏览

kubernetes - 更新大使的 tls 秘密

部署解决方案后,我需要在解决方案中应用证书。作为大使聆听 tls 机密的更改,我采用了这种方法。部署我的应用程序后,我的大使使用默认的自签名证书。我用这个更新了该证书命令

我的秘密现已更新,但我的大使仍然不听新的秘密。我更新秘密的方式有问题吗?

0 投票
1 回答
140 浏览

kubernetes - 将大使部署到 Kubernetes

通过本教程,我一直在学习如何在 minikube 上的 kubernetes 上部署大使,这很有效,因为我可以看到成功安装大使的页面。主要问题是,当我尝试更改 UI 的图像以使其应该在链接中打开其他应用程序时,它会打开相同的大使成功页面。

以前的tour.yaml

修改tour.yaml(删除后端并更改图像)

ambassador-service.yaml

请帮忙,我真的很困惑它背后的原因是什么以及如何解决它。

0 投票
1 回答
480 浏览

kubernetes - 大使是许可服务吗?应该更喜欢什么 - 特使代理或大使?

我想为一个项目使用 API 网关,但我有点困惑,我在一家公司工作,他们希望将特使代理作为网关,但是当我了解大使时,我认为大使会是比 envoy 代理更好,因为它建立在 envoy 代理之上,而且它集成了 consul,充当服务网格,Ambassador 主要用于云原生应用程序。

和一位前辈交谈后,他告诉我,大使是一个许可服务,而特使代理是免费的(可以自己制作)。大使会不会因为它是许可的而有任何问题?

此外,在我看来,与部署特使代理相比,部署大使更容易。

所以这一切都归结为:

  • 大使和特使代理之间的主要区别是什么?
  • 如果我们想在 Kubernetes 上部署微服务,应该首选什么?
0 投票
1 回答
78 浏览

kubernetes - 如何使用大使网关路由或 cloudflare 检测浏览器?

我有一个在 cloudflare 后面运行的 Angular 应用程序,并且使用 kubernetes 部署了大使网关路由。我想要做的是检查应用程序从哪个浏览器接收流量,并将其与我拥有的支持的浏览器列表进行匹配。如果浏览器不匹配,我想抛出一个静态 html 页面,上面写着,对不起,我们不支持此浏览器,请按照步骤升级您的浏览器等。

现在,有很多解决方案可以实现完全相同的目标,但是我有一个硬性要求,即完全阻止不受支持的浏览器访问我的网站。

我可以在我的应用程序中轻松地做到这一点,但是,为什么要加载整个 Angular 应用程序只是为了拒绝访问我的网站。将用户从根目录本身屏蔽是非常棒的。问题是我没有 nginx、haproxy 等,在这种情况下,实现它会相当简单和直接。相反,我有 cloudflare 和大使,这是我经验最少的。

有人可以指导我如何使用cloudflare或大使根据某些条件实现浏览器检测和重定向吗?

0 投票
1 回答
162 浏览

kubernetes - 如何在我的 Kubernetes 微服务中在运行时知道大使服务前缀

有没有办法在运行时在我的 Kubernetes 微服务中学习大使服务前缀?

以这个配置为例:

从我的 docker 容器中,我想获取“/myprefix/”。通过一些 env 变量进行部署,或者如果无法使用 env 变量以编程方式完成。

谢谢。

0 投票
0 回答
446 浏览

kubernetes - Istio HTTPRedirect 捕获组支持

注意:我感觉 Istio 不支持此功能,但我很好奇除了 NGINX 之外是否还有其他反向代理支持此功能?

我正在尝试将来自 regex: 的请求重定向/abc/(?<appname>.*)?/cba/$appnameIstio 内的 VirtualService 中。这似乎是一个微不足道的问题,因为 Istio 应该取代 NGINX Ingresses,所以似乎在他们的文档中没有太多提及这个问题。

我发现了其他几个提到类似问题的帖子,但我想要一个明确的答案,这是不支持的。

我有以下工作示例,它只是将正则表达式重定向/abc/.*到静态地址/cba/

在 URI 正则表达式中添加捕获组:/abc/(?<hello>.+)?会导致以下错误,尽管正则表达式在语法上是正确的。

gRPC config for type.googleapis.com/envoy.api.v2.RouteConfiguration rejected: Invalid regex '/abc/(?<hello>.+)?': One of *?+{ was not preceded by a valid regular expression.

有什么我遗漏的东西,或者有什么可以找到解决这个问题的方法吗?

另请注意:HTTPRewrite 的文档指出 uri 字段必须是字符串,这也让我担心不支持此功能。

我试过查看 Envoy 的文档,似乎是因为他们不支持它?除了 NGINX 之外,有没有办法从任何反向代理中的正则表达式中提取字段?