本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像是基于官方Istio Proxy构建的定制化版本,通过集成自定义***过滤器与Open Policy Agent(OPA)实现细粒度授权控制。它扩展了Istio服务网格的默认能力,允许用户利用OPA的声明式策略语言(Rego)定义复杂的授权规则,适用于需要精细化访问控制的服务网格环境。
docker pull [镜像仓库地址]/istio-proxy-opa:latest
注:请将
[镜像仓库地址]替换为实际的镜像仓库路径(如私有仓库或公共镜像服务)
docker run -d \ --name istio-proxy-opa \ --network=istio-network \ # 建议使用与Istio控制平面相同的网络 -p ***:*** \ # ***入站流量端口 -p ***:*** \ # ***管理接口端口 -e OPA_SERVICE_URL=[***] \ # OPA服务地址 -e AUTHZ_POLICY_PATH=/v1/data/istio/authz \ # OPA策略查询路径 -e LOG_LEVEL=info \ # 日志级别(debug/info/warn/error) -v /path/to/local/config:/etc/istio/proxy \ # 挂载自定义配置(可选) [镜像仓库地址]/istio-proxy-opa:latest
version: '3.8' services: istio-proxy-opa: image: [镜像仓库地址]/istio-proxy-opa:latest container_name: istio-proxy-opa ports: - "***:***" # 入站流量端口 - "***:***" # 管理接口端口 environment: - OPA_SERVICE_URL=[***] - AUTHZ_POLICY_PATH=/v1/data/istio/authz - LOG_LEVEL=info - ***_CONFIG_PATH=/etc/istio/proxy/***.json # ***配置文件路径 volumes: - ./***-config:/etc/istio/proxy # 挂载自定义***配置 depends_on: - opa networks: - istio-network opa: image: openpolicyagent/opa:latest container_name: opa ports: - "8181:8181" command: run --server --log-level=info /policies volumes: - ./policies:/policies # 挂载OPA策略文件 networks: - istio-network networks: istio-network: driver: bridge
| 参数名 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
| OPA服务地址 | OPA_SERVICE_URL | OPA服务的HTTP/HTTPS端点 | http://localhost:8181 |
| 策略查询路径 | AUTHZ_POLICY_PATH | OPA策略评估的Rego包路径 | /v1/data/istio/authz |
| 连接超时 | OPA_CONNECT_TIMEOUT_MS | 与OPA建立连接的超时时间(毫秒) | 500 |
| 请求超时 | OPA_REQUEST_TIMEOUT_MS | OPA策略查询的超时时间(毫秒) | 1000 |
| 日志级别 | LOG_LEVEL | 代理日志级别 | info |
| ***配置路径 | ***_CONFIG_PATH | ***配置文件路径 | /etc/istio/proxy/***-rev0.json |
| 失败开放模式 | FAIL_OPEN | 当OPA不可用时是否允许请求通过(true/false) | false |
policy.rego):package istio.authz # 允许GET请求访问/products路径 allow { input.attributes.request.http.method == "GET" input.attributes.request.http.path == "/products" } # 允许带有有效JWT的POST请求 allow { input.attributes.request.http.method == "POST" input.attributes.request.http.path == "/orders" input.attributes.request.http.headers["authorization"] exists }
# 假设OPA服务运行在localhost:8181 curl -X PUT http://localhost:8181/v1/policies/istio/authz \ --data-binary @policy.rego
curl http://localhost:***/config_dump | grep -A 20 "***.filters.http.ext_authz"
应能看到指向OPA服务的外部授权过滤器配置。
# 允许的请求 curl -X GET http://localhost:***/products -v # 拒绝的请求(无权限) curl -X POST http://localhost:***/orders -v
docker logs istio-proxy-opa免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429