KIA0104 - 此主机在服务注册表中没有匹配条目
KIA0104 - This host has no matching entry in the service registry
第一件事:一切似乎都正常工作并且安全策略发挥作用(根据单元测试)...但是 Kiala 方面我遇到了一些问题。
我的所有服务 (ServiceAccount/Service/Deployment) 都在命名空间 'app' 上。
我的网关部署在命名空间 'app' 上。
我的策略 ares 安装在命名空间 'istio-system' 上以正确处理 JWT...
Kiali 错误 > 主机:["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 考虑服务和服务条目。 那些引用对象命名空间之外的主机的主机将出现未知错误。"
但是“ingressgateway”和 JWT 规则在命名空间“istio-system”上,而我的服务在我的命名空间上。
如何让 Kiali 开心?
感谢您的帮助
我找到了解决办法...
我不知道这是否是“最佳”解决方案,但它确实有效。
1 - 我已经配置 'ingress' 主机:["*"] 用于 HTTP 和 HTTPS 重定向(网关)。
2 - 我没有触及“jwtRules”(RequestAuthentication)的配置。
3 - 我将我所有的“VirtualService”归为一个,并使用“HTTPRoute”公开了我不同“主机”的api。
4 - 我重写了“AuthorizationPolicy”以匹配新的 api 映射。
注意:不要忘记删除旧的“VirtualService”。
之后一切正常,但我不再需要在请求的 header 中指定“主机”,但最重要的是,我不再是 Kiali 错误!
第一件事:一切似乎都正常工作并且安全策略发挥作用(根据单元测试)...但是 Kiala 方面我遇到了一些问题。
我的所有服务 (ServiceAccount/Service/Deployment) 都在命名空间 'app' 上。
我的网关部署在命名空间 'app' 上。
我的策略 ares 安装在命名空间 'istio-system' 上以正确处理 JWT...
Kiali 错误 > 主机:["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 考虑服务和服务条目。 那些引用对象命名空间之外的主机的主机将出现未知错误。"
但是“ingressgateway”和 JWT 规则在命名空间“istio-system”上,而我的服务在我的命名空间上。
如何让 Kiali 开心?
感谢您的帮助
我找到了解决办法... 我不知道这是否是“最佳”解决方案,但它确实有效。
1 - 我已经配置 'ingress' 主机:["*"] 用于 HTTP 和 HTTPS 重定向(网关)。
2 - 我没有触及“jwtRules”(RequestAuthentication)的配置。
3 - 我将我所有的“VirtualService”归为一个,并使用“HTTPRoute”公开了我不同“主机”的api。
4 - 我重写了“AuthorizationPolicy”以匹配新的 api 映射。
注意:不要忘记删除旧的“VirtualService”。
之后一切正常,但我不再需要在请求的 header 中指定“主机”,但最重要的是,我不再是 Kiali 错误!