
paralusio/relay本镜像提供用于Kubernetes集群交互的中继服务器(Relay Server)和代理(Agent)功能,旨在实现Kubernetes集群内外、不同组件间的通信中继与代理,解决集群网络隔离、跨网络访问控制等场景下的通信需求。
通过以下命令快速启动中继服务器与代理容器:
bashdocker run -d \ --name k8s-relay-agent \ -e KUBERNETES_API_URL="https://<kube-apiserver-ip>:6443" \ -e RELAY_LISTEN_PORT="8080" \ -e AGENT_MODE="both" \ # 可选值:relay(仅中继)、agent(仅代理)、both(两者皆启用) -p 8080:8080 \ [镜像名称]:[版本标签]
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
KUBERNETES_API_URL | Kubernetes API Server的访问地址(含端口) | - | 是 |
RELAY_LISTEN_PORT | 中继服务器监听端口 | 8080 | 否 |
AGENT_MODE | 运行模式:relay(仅中继)、agent(仅代理)、both(两者皆启用) | both | 否 |
PROXY_TIMEOUT | 代理请求超时时间(秒) | 30 | 否 |
LOG_LEVEL | 日志级别:debug/info/warn/error | info | 否 |
TLS_ENABLED | 是否启用TLS加密通信(true/false) | false | 否 |
TLS_CERT_PATH | TLS证书文件路径(当TLS_ENABLED=true时需指定) | /certs/tls.crt | 否(启用TLS时必填) |
TLS_KEY_PATH | TLS私钥文件路径(当TLS_ENABLED=true时需指定) | /certs/tls.key | 否(启用TLS时必填) |
yamlversion: '3' services: k8s-relay-agent: image: [镜像名称]:[版本标签] container_name: k8s-relay-agent ports: - "8080:8080" environment: - KUBERNETES_API_URL=[***] - RELAY_LISTEN_PORT=8080 - AGENT_MODE=both - LOG_LEVEL=info volumes: - ./certs:/certs # 挂载TLS证书(如需启用TLS) restart: unless-stopped
容器启动后,可通过以下方式验证服务状态:
健康检查:访问中继服务健康检查端点
bashcurl http://localhost:8080/health
预期返回:{"status":"healthy","mode":"both","api_server_connected":true}
代理测试:通过代理访问Kubernetes API
bashcurl http://localhost:8080/api/v1/namespaces
预期返回Kubernetes集群命名空间列表(需具备相应访问权限)
KUBERNETES_API_URL指定的API Server地址,网络策略需允许相应端口通信TLS_ENABLED=true及证书挂载),并限制容器暴露端口的访问范围/etc/relay/config.yaml)实现高级配置(具体配置格式请参考镜像官方文档)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务