本镜像提供一个模拟Kubernetes授权(Authorization)决策的webhook服务,遵循Kubernetes授权webhook标准协议。主要用于Kubernetes集群的开发、测试环境,帮助用户在不依赖真实授权系统(如RBAC、OPA)的情况下,验证授权策略逻辑、准入控制流程及相关组件(如kube-apiserver、准入控制器)的集成效果,降低直接使用生产授权系统带来的测试风险。
4.1 基本部署(Docker Run)
bashdocker run -d \ --name k8s-mock-authz-webhook \ -p 8080:8080 \ -e MOCK_AUTHZ_DEFAULT_DECISION=allow \ -e MOCK_AUTHZ_LOG_LEVEL=info \ [镜像名称]:[标签]
4.2 Docker Compose配置
yamlversion: '3' services: mock-authz: image: [镜像名称]:[标签] container_name: k8s-mock-authz ports: - "8080:8080" environment: - MOCK_AUTHZ_DEFAULT_DECISION=deny - MOCK_AUTHZ_LISTEN_PORT=8080 - MOCK_AUTHZ_LOG_LEVEL=debug - MOCK_AUTHZ_RESPONSE_DELAY=200 volumes: - ./rules.yaml:/config/rules.yaml restart: unless-stopped
4.3 环境变量配置
| 环境变量名称 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
MOCK_AUTHZ_DEFAULT_DECISION | 未匹配规则时的默认授权决策 | allow | allow, deny |
MOCK_AUTHZ_LISTEN_PORT | 服务监听端口 | 8080 | 1-65535 |
MOCK_AUTHZ_LOG_LEVEL | 日志输出级别 | info | debug, info, warn, error |
MOCK_AUTHZ_RESPONSE_DELAY | 模拟响应延迟(毫秒),用于测试超时场景 | 0 | 0-30000 |
MOCK_AUTHZ_CUSTOM_RULES_PATH | 自定义规则配置文件路径(容器内),支持JSON/YAML格式 | 无 | 如/config/rules.yaml |
4.4 自定义授权规则示例
通过MOCK_AUTHZ_CUSTOM_RULES_PATH指定规则文件,按请求属性匹配决策:
yaml# rules.yaml示例 rules: - name: "allow-admin-user" match: user: "admin" groups: ["system:masters"] decision: "allow" - name: "deny-guest-edit" match: user: "guest" verb: "edit" resource: "pods" decision: "deny"
4.5 Kubernetes集成步骤
ValidatingWebhookConfiguration指向服务URLWebhook授权模式
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务