问题标签 [kong-ingress]
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.
nginx - kubernetes:nginx入口vs traefik入口vs ha-proxy入口vs kong入口
我们正在研究可用于 Kubernetes 的各种开源入口控制器,并且需要从中选择最好的一个。我们正在评估以下四个入口控制器
- Nginx 入口控制器
- Traefik 入口控制器
- Ha-proxy入口控制器
- Kong入口控制器
这些在特性和性能方面有什么区别,在生产中应该采用哪一个。请提供您的建议
cors - 带有 CORS 插件的 Kong Ingress 控制器因预检连接而失败
我将 CORS 插件与 Kong 入口控制器 whitin Postman 一起使用,API 运行良好,响应包括一个
标题。
但是当我在 Chrome 中提出 cors 请求时,它报告:
边缘报告:
我的上游服务是一个 express/node 应用程序,我已经设置了 cors 中间件,但似乎预检 HTTP OPTIONS 请求不会通过或从 Kong 网关获得响应。
我注意到插件有一个限制。
但我不知道配置我的 KongIngress 对象来克服浏览器中针对 cors 请求的限制。
kubernetes - Kong Ingress Controller 对 Kong Plugins 没有影响
我已经完成了 kong-ingress-controller部署和入门文档并完成了提到的所有内容。
- 更新用户权限
- 部署 Kong 入口控制器
- 设置环境变量
- 使用路由创建 Ingress
一切正常,我可以根据路由访问我的应用程序。但是当我添加速率限制插件或任何其他插件时,它没有任何效果。
ingress.yaml:
速率限制.yaml:
但是速率限制插件对我的入口没有影响。
注意:kong-ingress-controller 在 kong 命名空间中,但其他资源在默认命名空间中。我试图将所有内容移至 kong 命名空间,然后插件可以工作,但服务无法正常工作,因为它在默认命名空间中。
提前致谢。
kubernetes - Kubernetes Ingress 在路由之前执行授权,例如 api gateway
可以对 Kubernetes 入口(如 kong、nginx)执行授权(基于规则的类似)。例如,我有这个:
apiVersion:扩展/v1beta1
但是在重定向到 /service 之前,我需要在我的授权 api 中执行调用以验证请求令牌是否具有传递 /service 的规则。
或者我真的需要使用像spring zuul这样的入口后面的API网关来做到这一点?
kubernetes-helm - Helm install Kong 在 DBless 模式下创建 postgresql 容器和服务
Helm 正在创建 postgresql-0 容器、postgresql 和 postgresql-headless 服务,即使在 DBless 模式下也是如此。下面是我的命令。
helm install stable/kong --set ingressController.enabled=true --set postgresql.enabled=false --set env.database=off
当我使用 Yaml 文件时,它不是创建这些组件,而是使用 helm 创建。如果我遗漏了什么,请告诉我。
kubernetes - 如何使用 KeyCloak 解决 Kong 入口中的“无效响应......来自上游服务器”?
我已经设法使用 kubernetes-version='v1.13.11' 在 minikube 上运行 KeyCloak 和 Kong。
我正在使用这个版本,因为我想最终部署到 GCP 集群。
当我尝试打开 PROXY_IP:HTTP_PORT/auth 时,我得到以下响应:
我认为我应该得到的是 KeyCloak 主页。
重现步骤:
minikube start --kubernetes-version='v1.13.11'
kubectl apply -f keycloack.yaml
kubectl apply -f kong-all-in-one.yaml
kubectl apply -f kong-ingress.yaml
export PROXY_IP=$(minikube service kong-proxy --url --format "{{ .IP }}" | head -1)
export HTTP_PORT=$(minikube service kong-proxy --url --format "{{ .Port }}" | head -1)
- 访问
$PROXY_IP:$HTTP_PORT/auth
密钥斗篷.yaml
kong-all-in-one.yaml
kong-ingress.yaml
更新以回应评论:
kubernetes - 如何在 RHEL 机器上的 Kubernetes 集群上识别 Kong 的 IP?
首先,让我展示一个名为“kong”的命名空间中的 kubernetes 实体:
当我尝试从上面 ping IP 时,我收到超时错误。
kubernetes - 在kubernetes + konga + kong中,konga和kong的连接正确的配置是什么?
我是 Kubernetes 和 Kong 的新手。我已经通过 Docker Desktop 运行 Kubernetes 并安装了 Kong 和 Konga。Konga 正在运行http://localhost:1337
。当我尝试添加一些连接时,我不确定正确的 Kong Admin URL 是什么。我不清楚它应该是 Kong Admin Ingresse 还是 Kong Admin 的 IP。我尝试了一切,但它不起作用。
amazon-web-services - 具有使用 KONG INGRESS 的 FARGATE 配置文件的 AWS EKS - 无法将端口 80 公开给公众
我使用 fargate 选项在 aws eks 集群上部署了 kong 入口控制器。我无法通过 http 端口通过 Internet 访问应用程序。我在浏览器中不断收到 -ERR_CONNECTION_TIMED_OUT。
Kong-proxy 服务是在没有问题的情况下创建的。kong-proxy 服务已创建,但其“EXTERNAL-IP”仍显示为待处理。
我们可以通过 Kong-proxy CLUSTER-IP 访问内部网络中的本地应用程序(通过登录到正在运行的 pod),使用 curl 没有任何问题。
当我们创建 kong-proxy 服务时,还会在 aws 控制台中自动创建一个 nlb 负载均衡器。我们用来尝试从 Internet 连接的 DNS 名称。
请帮助我了解可能是什么问题。我的 kong-proxy yaml 是-
basic-authentication - KongIngress 对象中的 strip_path 和 preserve_host 属性。他们在做什么?
我有一个KongIngress
关于 Ingress 资源的对象配置属性,它调用 kong 作为 Ingress 控制器。我实际上有这个配置:
问题是:
我的kind:KongIngress
对象资源strip_path
和preserve_host
属性在做什么?
我在这里阅读了文档,但我不清楚:
关于strip_path
我看到这个:
通过其中一个路径匹配 Route 时,从上游请求 URL 中去除匹配的前缀。默认为真。但正如我们所看到的,我没有在我的 KongIngress 对象中使用 path 属性(为了说明我的问题,我发表了评论)
那么,strip_path
这里如何应用属性值呢?
这是因为我在我的 Ingress 资源中使用了该path: /
属性,并且我的 Ingress 和我的 KongIngress 资源正在协同工作?
我真的不知道,但我想知道幕后情况如何。