簡體   English   中英

KIA0104 - 此主機在服務注冊表中沒有匹配條目

[英]KIA0104 - This host has no matching entry in the service registry

第一件事:一切似乎都正常工作並且安全策略完成了他的工作(根據單元測試)......但是 Kiala 事情我有一些問題。

我所有的服務 (ServiceAccount/Service/Deployment) 都在命名空間“app”上。

我的網關部署在命名空間“app”上。

我的策略 ares 安裝在命名空間 'istio-system' 上以正確處理 JWT ...

Kiali 錯誤出現在 > hosts: ["authenticator.app.io"]

此規則拒絕所有帶有“登錄”令牌的請求。

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: gateway-deny-token-login
  namespace: istio-system
spec:
  selector:
    matchLabels:
      istio: ingressgateway
  action: DENY
  rules:
  - from:
    - source:
        requestPrincipals: ["auth@app.io/*"]
    to:
    - operation:
        hosts: ["authenticator.app.io"]
        paths: ["/auth/login"]

根據: https://kiali.io/docs/features/validations/目前的驗證指出那些引用授權策略命名空間中不存在的主機的規則。 Kiali 考慮服務和服務條目。 那些引用 object 命名空間之外的主機的主機將出現未知錯誤。”

但是“ingressgateway”和 JWT 規則在命名空間“istio-system”上,我的服務在我的命名空間上。

怎么讓 Kiali 開心?

謝謝你的幫助

我找到了一個解決方案……我不知道它是否是“那個”解決方案,但它確實有效。

1 - 我已經為 HTTP 和 HTTPS 重定向(網關)配置了主機的“入口”:[“*”]。

2 - 我沒有觸及“jwtRules”(RequestAuthentication)的配置。

3 - 我將所有“VirtualService”歸為一個,並使用“HTTPRoute”公開不同“主機”的 api。

4 - 我重寫了“AuthorizationPolicy”以匹配新的 api 映射。

注意:不要忘記刪除舊的“VirtualService”。

之后一切都像以前一樣工作,但我不再需要在請求的 header 中指定“主機”,但最重要的是,我不再是 Kiali 錯誤!

暫無
暫無

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

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