来自 OPA 网站的 Istio 教程无法正常工作

问题描述 投票:0回答:1

我在这里遵循了所有这些步骤: https://istio.io/latest/docs/setup/getting-started/

然后是 Opa-Istio-Tutorial 的所有步骤: https://www.openpolicyagent.org/docs/latest/envoy-tutorial-istio/

我没有收到任何错误,但是当我尝试测试它时,就像这里描述的那样:

curl --user alice:password -i http://$SERVICE_HOST/productpage
curl --user alice:password -i http://$SERVICE_HOST/api/v1/products

结果总是:

curl --user alice:password -i http://$SERVICE_HOST/productpage

HTTP/1.1 403 Forbidden
content-length: 19
content-type: text/plain
date: Sun, 07 Apr 2024 11:31:44 GMT
server: istio-envoy
x-envoy-upstream-service-time: 14

curl --user alice:password -i http://$SERVICE_HOST/api/v1/products

HTTP/1.1 403 Forbidden
content-length: 19
content-type: text/plain
date: Sun, 07 Apr 2024 11:31:50 GMT
server: istio-envoy
x-envoy-upstream-service-time: 1

问题:第一个应该被允许,如本示例中定义的 rego,但它不起作用,它显示两次被禁止。是的,我之前配置了网格并添加了外部提供程序,如示例中所述:

data:
  mesh: |-
    # Add the following lines to define the ServiceEntry previously created as an external authorizer:
    extensionProviders:
    - name: opa-ext-authz-grpc
      envoyExtAuthzGrpc:
        service: opa-ext-authz-grpc.local
        port: "9191"    `

我在 macOS m2 上使用带有 Docker 的 minikube。

如果有人能给我提示,那就太好了。

安装了几次istio和opa。试图在网络上找到类似的问题。试图通过 opa 文档找到答案。

istio opa open-policy-agent
1个回答
0
投票

感谢查理的提示!日志很好,但我发现这个命令:

kubectl edit configmap -n istio-system istio

在终端上无法正常工作:我可以添加这些行:

    extensionProviders:
- name: opa-ext-authz-grpc
  envoyExtAuthzGrpc:
    service: opa-ext-authz-grpc.local
    port: "9191"

但它们似乎出了问题。然后我通过覆盖网格来尝试使用 Visual Studio 代码进行相同的操作,它终于成功了。

© www.soinside.com 2019 - 2024. All rights reserved.