簡體   English   中英

Kong Ingress Controller 對Kong Plugins沒有影響

[英]Kong Ingress Controller has no effect on Kong Plugins

我已經完成了 kong-ingress-controller 部署入門文檔,並完成了提到的所有內容。

  1. 更新用戶權限
  2. 部署Kong Ingress Controller
  3. 設置環境變量
  4. 使用路由創建入口

一切正常,我可以根據路線訪問我的應用程序。 但是當我添加限速插件或任何其他插件時,它沒有任何效果。

入口.yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: my-ingress
 namespace: default
 annotations:
  kubernetes.io/ingress.class: kong
  plugins.konghq.com: http-ratelimit, http-auth
spec:
 rules:
  - host: foo.bar
  http:
    paths:
    - path: /users
      backend:
        serviceName: my-service
        servicePort: 80 

速率限制.yaml:

apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
 name: http-ratelimit
 labels:
   global: 'true'
config:
 minute: 5
plugin: rate-limiting

但是速率限制插件對我的入口沒有影響。

注意:kong-ingress-controller 在 kong 命名空間中,但其他資源在 default 命名空間中。 我嘗試將所有內容移動到 kong 命名空間,然后插件可以工作,但服務無法正常工作,因為它在默認命名空間中。

提前致謝。

查看Kong 文檔,速率限制 YAML 看起來是正確的。 如果資源配置正確,Kong 不會將請求與入口資源匹配,因為用戶沒有發送正確的請求。

KongPlugin、KongIngress 應該與 Service 位於相同的命名空間中。 YAML 提供了正確的外觀。 ingress yamls注解和配置肯定有問題,你的服務是否用Ingress對象進行了注解?

我認為您需要將此注釋添加到您的 KongPlugin 中:

annotations:
  kubernetes.io/ingress.class: kong

所以嘗試

apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
 name: http-ratelimit
 annotations:
   kubernetes.io/ingress.class: kong
[...]

在我的場景中,我想在特定的入口資源/路由上應用KongPlugin

對我有用的是在入口資源(以及目標服務)所在的同一命名空間中創建KongPlugin object。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM