问题标签 [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.
kubernetes - Kubernetes – Curl 适用于服务 IP 但不适用于服务名称
我是 kubernetes 的新手,所以如果我跳过了一些明显的步骤或不清楚我的问题,我深表歉意。
我已经定义了一个服务game-app-service
和一个部署game-app-deployment
。这两个都运行良好。
我正在尝试将来自 API Gateway 服务(大使)的请求路由到该服务。当尝试从 Ambassador pod 卷曲游戏应用服务端点时,我发现我总是收到空回复,并且它连接到一个不是服务 IP 的 IP。但是,如果我game-app-service
用服务的 IP 地址和它正在侦听的端口交换:
curl -v -X POST 10.102.142.157:8084/api/test
一切正常,我得到了来自服务器的预期响应。
我注意到curl -v -X POST game-app-service/api/test
解析到与 92.242.140.21 端口 80 相同的 IP curl -v -X POST random/api/test
。这让我相信我的 DNS 解析有问题。但是,我已验证我的 core-dns pod 已启动并正在运行,所以我不确定为什么会这样。
下面,我列出了我的服务和部署的配置以供参考:
有谁知道为什么我不能使用我的服务名称代替 IP 地址?
更新:
Runningwget -O- game-service-app
给了我 200 的 HTTP 状态,但响应为:
指示 DNS 查找失败。
azure - 粘性不适用于 Kubernetes 中大使的请求标头
问题:我想在名为“ORDER_ID”的请求标头上实现粘性。因此,如果特定的订单请求应该由 Kubernetes 中的特定 pod 提供服务。但在我的情况下,它不起作用,因为请求并没有坚持到特定的 pod,而是被分发到不同的 pod。
这就是我安装大使的方式:
- helm repo 添加数据线https://www.getambassador.io
- kubectl 创建命名空间大使
- 掌舵安装大使--命名空间大使数据线/大使
以下是 yaml 文件:
部署.yml
2 服务.yml
3 映射.yml
测试 -
有什么我遗漏或做错了什么吗?
kubectl - 在这种情况下如何设置 EXTERNAL-IP?
在使用 minikube 启动本地 Kubernates 后,我运行了一系列 kubectl 命令:
查看大使边缘堆栈(入口和 API 网关)
外部 IP 应该是 localhost,但不是。这些命令不指定外部 IP,至少不直接指定。在这种情况下是否缺少某种设置?
这个问题可能要问大使实验室(Datawire)的人。
kubernetes - 大使速率限制无法正常工作
我正在尝试按照本教程对大使进行速率限制。我正在使用 minikube 和本地 docker 映像。我已经测试了所有 api 在部署到 Kubernetes 后都正确响应,只有限速功能不起作用。
这是我的 deploy.yaml
这是我的 rate-limit.yaml
当我执行命令时——curl -vLk 10.107.60.125/delete/
它正在返回
我得到的响应是 200 但是我期待 429 错误代码。
kubernetes - 是否可以在同一个路由映射中使用 Ambassador prefix_regex 和 regex_rewrite?
我正在尝试使用大使prefix_regex
和regex_rewrite
.
我想要这两个路由前缀:
将被映射到:
/my/route/<something>
这是我试图使用的:
按预期使用regex_rewrite
常规prefix
作品 按预期
使用prefix_regex
常规rewrite
作品,
但我从特使那里收到 404。
有任何想法吗?
我正在使用大使 1.7.0 版本
kubernetes - K8s 大使没有 FilterPolicy 的处理程序
我已经在我的本地和应用插件过滤器中配置了大使,以下是过滤器配置
已将插件 .so 文件捆绑为大使 docker 映像的一部分,并验证该插件在 pod 的 /etc/ambassador-plugins 路径中可用。在启动大使时,从 pod 中获得了以下日志
kubernetes - 大使 API 网关功能
开源Ambassador API网关有什么特点,企业版Ambassador API网关有什么特点?
kubernetes - Ambassador API 网关中的通配符子域映射
我在我的 GKE 中使用 Ambassador API 网关,如下所示:
但是,我想映射所有子域 (*.mycompany.com) 并路由到我的服务
如何映射通配符子域?
envoyproxy - 使用 TLS 通过大使调用 grpc 端点时出现“服务器关闭了流而不发送预告片”错误
在调用大使中公开的 GRPC 端点时,我在 GRPC 客户端收到错误“服务器关闭了流而不发送预告片”。
所以我的堆栈是:客户端 GRPC 代码 -> 大使 -> grpc-service-envoy -> grpc-service
我可以看到请求一直到 grpc-service,它们似乎也到达了 grpc-service-envoy。
请注意,http 转码调用工作正常。只是 grpc 调用引起了问题。
知道这里可能有什么问题吗?
特使配置文件:
特使日志:
docker - 在没有 Kubernetes 的本地开发环境中运行 Ambassador
我正在尝试在我的本地开发环境中运行 Ambassador API 网关,因此我将模拟我最终将在生产环境中得到的结果 - 不同之处在于,在生产环境中,我的解决方案将在 Kubernetes 中运行。为此,我将 Ambassador 安装到 Docker Desktop 中并添加所需的配置以将请求路由到我的微服务。不幸的是,它对我不起作用,我收到以下错误:
upstream connect error or disconnect/reset before headers. reset reason: connection failure
我认为这是由于映射文件中的问题,如下所示:
所以我基本上想要做的是重写所有请求到http://{ambassador_url}/ins
端口上的 IIS Express(通过 Visual Studio)本地运行的服务44332
。
我错过了什么?